因此,我對使用 excel 的 VBA 代碼非常陌生,并且我正在嘗試創建一個“修改日期”列,以便為作業中的清單編輯前一列中的值。我以前為另一個清單做過一次,但我用老式的方式做,因為它不是一個很長的清單。但是對于此應用程式,這根本沒有效率,因為此串列將持續進行。我使用社區中其他人的示例拼湊了這段代碼,但我無法弄清楚錯誤的來源。據說存在編譯錯誤“Do without Loop”。根據我對其他帖子的理解,它認為“If”陳述句沒有被關閉,但我使用了“End If”并且我的代碼中只有一個“If”陳述句。我需要它從第 6 列開始交替列,然后重復每一行。任何幫助深表感謝!
Sub Worksheet_Change(ByVal Target As Range)
Dim ColCount As Long
ColCount = 6
Dim RowCount As Long
RowCount = 2
Dim iCol As Long
iCol = 7
Dim iRow As Long
iRow = 2
Do While RowCount < 2
Do While ColCount < 6
Do While iCol < 7
Do While iRow < 2
If Target.Column = ColCount And Target.Row = RowCount Then
ActiveSheet.Cells(iRow, iCol).Value = Format(Date, "mm/dd/yyyy")
End If
RowCount = RowCount 1
ColCount = ColCount 2
iCol = iCol 2
iRow = iRow 1
Loop
End Sub

uj5u.com熱心網友回復:
更簡單的方法:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, c As Range
Set rng = Application.Intersect(Target, Me.Range("F:F,H:H,J:J")) 'adjust to suit...
If rng Is Nothing Then Exit Sub 'no updates in monitored range
For Each c In rng.Cells
c.Offset(0, 1).Value = Format(Date, "mm/dd/yyyy")
Next c
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/391301.html
