這裏是我的代碼:環路和檢查,看是否有細胞是空白 - 不註冊一個單元格爲空
For Each Cell In NewBook.Sheets(1).Range("T2:T" & lastRow)
If Cell.Value = 76 Or Cell.Value = 69 Then
MsgBox Cells(Cell.Row, 8).Value
If NewBook.Sheets(1).Cells(Cell.Row, 8).Value = "" Then
Do Until IsEmpty(NewBook.Sheets(1).Cells(Cell.Row, col).Value)
If Not NewBook.Sheets(1).Cells(Cell.Row, col).Value = "" Then
col = col + 1
End If
Loop
NewBook.Sheets(1).Cells(Cell.Row, col) = "Codes 69 or 76 Reported w/ No applicable Bankrupcty Rptd"
End If
End If
col = 50
Next Cell
我也試過:
For Each Cell In NewBook.Sheets(1).Range("T2:T" & lastRow)
If Cell.Value = 76 Or Cell.Value = 69 Then
MsgBox Cells(Cell.Row, 8).Value
If IsEmpty(NewBook.Sheets(1).Cells(Cell.Row, 8).Value) = True Then
Do Until IsEmpty(NewBook.Sheets(1).Cells(Cell.Row, col).Value)
If Not NewBook.Sheets(1).Cells(Cell.Row, col).Value = "" Then
col = col + 1
End If
Loop
NewBook.Sheets(1).Cells(Cell.Row, col) = "Codes 69 or 76 Reported w/ No applicable Bankrupcty Rptd"
End If
End If
col = 50
Next Cell
兩者都不當cells(cell.row, 8).value
確實是「」時註冊。不知道該怎麼辦。
首先 - 你應該調試你的代碼,找出發生了什麼問題。有可能是完全不同的錯誤,你在其他地方尋找它。 – GSazheniuk
從不建議在cell =「」之前執行Do While循環。這種類型的編程幾乎總是容易出錯,而且與替代方法相比效率低下,比如我可以看到您在代碼中使用的For Each循環。根據您的Do Loop實際執行的操作,看起來您需要該行中第一個未使用的列。爲什麼不使用'NewBook.Sheets(1).Cells(Cell.Row,Columns.Count).End(xlToLeft).Column + 1'?作爲一個方面說明,也不建議使用'cell'作爲變量,因爲它已經是VBA中的一個關鍵字。 – tigeravatar
喜歡這些建議。即使這個錯誤已經解決,你們就繼續向我提供一些指示。對此,我真的非常感激。 –