EXCEL VBA运行时错误13 在线求帮助

If Month(Sheet5.Range("D" & i).Value) = Month(Date) And Sheet5.Range("AA" & i).Value = "" Then

错误13 是类型不匹配!最大的可能原因是 Sheet5 的 D 列并不是日期型数据。

或许 D 列的数据看起来是日期型的,但实际上是文本型的。因为日期型数据是数值型的(日期是整型的,时间是小数型的)。建议你在任意一个非 D 列的空白单元格内使用 Type 函数测试一下便知。比如:=TYPE(D2)。若返回的结果是 1,表示的是真的日期型数据;若返回的结果是2,则表示的是假的日期型数据。

截图中可以看出,D2 单元格中的日期是文本型的,而 D3 单元格的日期才是真正的日期型数据。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-06-24
I的值必须大于等于3.不能小于3.否则肯定访问失败。
另外你的.Range("C3:C" & i)
写法还是写清楚
If Trim(ActiveSheet.Range("C3:C" & I).Value) = Str Then本回答被网友采纳
第2个回答  2022-06-24
I的值必须大于等于3.不能小于3.否则肯定访问失败。
另外你的.Range("C3:C" & i)
写法还是写清楚
If Trim(ActiveSheet.Range("C3:C" & I).Value) = Str Then
相似回答