Excel 运行时错误13后恢复循环-类型不匹配
希望这是一个容易解决的问题。在MonthRangeK&i不包含值之前,我的代码一直按预期工作,在这种情况下,我会得到一个运行时错误13-类型不匹配。发生这种情况时,我希望循环继续运行,以获得下一个I值。我尝试使用On Error Resume,但它正在恢复下一个k值,而不是I,从而导致错误数据。这里的任何帮助都是感激的Excel 运行时错误13后恢复循环-类型不匹配,excel,vba,Excel,Vba,希望这是一个容易解决的问题。在MonthRangeK&i不包含值之前,我的代码一直按预期工作,在这种情况下,我会得到一个运行时错误13-类型不匹配。发生这种情况时,我希望循环继续运行,以获得下一个I值。我尝试使用On Error Resume,但它正在恢复下一个k值,而不是I,从而导致错误数据。这里的任何帮助都是感激的 For i = 3 To 6 For k = 16 To 36 If Month(Range("K" & i)) = Month(Cells
For i = 3 To 6
For k = 16 To 36
If Month(Range("K" & i)) = Month(Cells(2, k)) And Year(Range("K" & i)) = Year(Cells(2, k)) And Range("J" & i).Value > "0" Then
Range("J" & i).Copy
Cells(i, k).PasteSpecial xlPasteValues
End If
Next k
Next i
添加另一个If以测试它是否是第一个日期 还有几个注意事项: 养成将所有父对象指定为范围对象的习惯,即使在活动工作表上也是如此。它将有助于将来处理更复杂的代码 当只需要值时,可以更快地避开剪贴板并直接指定值
For i = 3 To 6
For k = 16 To 36
With ActiveSheet
If IsDate(.Range("K" & i)) Then
If Month(.Range("K" & i)) = Month(.Cells(2, k)) And Year(.Range("K" & i)) = Year(.Cells(2, k)) And .Range("J" & i).Value > "0" Then
.Range("J" & i).Value = .Cells(i, k).Value
End If
End If
End With
Next k
Next i
如您所示,当我尝试添加额外的IF时,它给了我一个编译错误:Next不带For,并突出显示了位于k?@MattR之前的Next现在再试一次-Scott用