Excel For循环和一般vba指导

时间:2020-09-23 16:34:13

标签: excel vba

我似乎无法弄清楚为什么此按钮给出运行时错误“ 424”。我不明白是否是for循环将其抛弃了。我尝试用.select替换.activate,什么也没发生。

Private Sub updateX_Click()
Dim emptyRow As Long
Dim emptyRowX As Long
Dim counter

Sheets("Master Inventory").Activate
Sheets("X").Activate

'Determine emptyRow
emptyRow = WorksheetFunction.CountA(Worksheets("Master Inventory").Range("A:A")) + 1
emptyRowX = WorksheetFunction.CountA(Worksheets("X").Range("A:A")) + 1

For counter = 1 To emptyRow
    If MI.Cells(counter, 1).Value = "X" Then
    X.Cells(emptyRowX, 1).Value = MI.Cells(counter, 2).Value
    X.Cells(emptyRowX, 2).Value = MI.Cells(counter, 3).Value
    X.Cells(emptyRowX, 3).Value = MI.Cells(counter, 4).Value
    X.Cells(emptyRowX, 4).Value = MI.Cells(counter, 5).Value
    X.Cells(emptyRowX, 5).Value = MI.Cells(counter, 6).Value
    End If
Next counter

End Sub

1 个答案:

答案 0 :(得分:0)

以下更正如何?

Dim counter As Long <-- this you already have (but you forgot the type definition)

Dim MI As Worksheet, X As Worksheet

Set MI = Worksheets("Master Inventory")
Set X = Worksheets("X")

Sheets("Master Inventory").Activate <-- this you already have