的我是一個Excel VBA新手,我試圖寫一些代碼來自動執行特定的任務。我設法找到下面的代碼並對其進行定製以滿足我的需求。由命令按鈕激活的代碼將通過列I查看從第5行開始的文本FALSE。當它遇到FALSE時,它將停止並複製同一行的列C中的單元格。For循環回到頂部
的代碼適用於這一目的,但我想借此邁進了一步。如果代碼到達I列中最後一個填充的單元格而沒有遇到FALSE,我希望它返回到列的頂部並從I1開始搜索。
有沒有辦法做這樣的事情有For循環?我一直在尋找Do Until和Do While循環,但還沒有看到類似於我正在嘗試做的示例。
任何援助將不勝感激。
Private Sub CommandButton1_Click()
Dim LR As Long, i As Long
With Sheets("Sheet1")
LR = .Range("I" & Rows.Count).End(xlUp).Row
For i = 5 To LR
With .Range("I" & i)
If .Text = ("FALSE") Then
.Offset(0, -6).Copy
Exit For
End If
End With
Next i
End With
End Sub
那麼,爲什麼不'對於i = 1到LR'?你還在哪裏粘貼'.Copy'? –
大概可以使用'Range.Find'代替蠻力迭代... –
該程序有點獨特。 C列中的值代表必須按照特定順序從上到下分配一次工作項目的員工的有序列表。 FALSE值代表出席工作的員工,TRUE代表缺席的員工。我希望代碼依次在列表中查找下一個FALSE(下一個可用的員工)。在我的最終工作表中,將會有10個命令按鈕。第一個將使用For i = 2到LR,第二個將使用For i = 3到LR等等直到最後一個按鈕,我將使用For i = 1到LR。 – genelec