我試圖寫一些VBA,將完成Excel VBA中添加新的行如果條件滿足
如果行O不再是當前行明確列空,則所有數據複製到新行,然後我,J,K,L,M,N
在新插入的行明確列O
的警告我不能肯定佔爲-
拋出一個
類型不匹配錯誤
這裏是我試圖用
Sub BlueBell()
Application.ScreenUpdating = False
Dim i As Long, y
ReDim y(2 To Range("A" & Rows.Count).End(3).Row)
For i = UBound(y) To LBound(y) Step -1
If Cells(i, "O") Then
If Cells(i, "I") = "" And Cells(i, "K") = "" And Cells(i, "M") = "" Then
GoTo DoNothing
Else
Rows(i).Copy
Cells(i, "A").Insert
Range("I" & i & ":J" & i & ":K" & i & ":L" & i & ":M" & i & ":N" & i & ":O" & i + 1).ClearContents
GoTo DoNothing
End If
End If
DoNothing:
Next i
End Sub
您不能將字符串值用作布爾表達式。嘗試更改'如果單元格(i,「O」)然後'爲'如果不是空(單元格(i,「O」)。Value)Then' – YowE3K
這將不會再拋出一個錯誤 - 但它將清除它的行不應該? – IcyPopTarts
由於使用了「Ix:Jx:Kx:Lx:Mx:Nx:Ox + 1」的深奧範圍定義 - 這實際上最終意味着範圍「Ix:Ox + 1」,但它清除了錯誤的單元格,但不應該使用。有關該範圍定義的一些有趣評論,請參閱http://stackoverflow.com/q/41653917/6535336。 – YowE3K