我正在使用VBA來幫助管理一組數據。我將有每月數據50個月,我希望根據單元格中的第一個單詞將它分類到不同的工作表中。這是我迄今爲止所做的;複製並粘貼錯誤:'1004'
我創建的工作簿用2片材,
- Sheet 1中(員工庫存)
- Sheet 2中(PB)
和我的代碼被寫入並保存在本工作簿。
Sub myCode()
Dim OldString As String
Dim NewString As String
Set i = Sheets("Employee Inventory")
Set PB = Sheets("PB")
Dim counterPB
counterPB = 2
Dim d
Dim j
d = 1
j = 2
Do Until IsEmpty(i.Range("D" & j))
OldString = i.Range("D" & j)
NewString = Left(OldString, 2)
If NewString = "PB" Then
i.Rows(j).EntireRow.Copy
PB.Range("A" & counterPB).Select
PB.Paste
counterPB = counterPB + 1
End If
j = j + 1
Loop
End Sub
道歉的代碼,因爲它看起來很奇怪。此代碼查看Sheet1並掃描列「D」並查找以「PB」開頭的第一個單詞。一旦它找到它,它會複製並粘貼整個行到名爲Sheet2(PB)的另一個表中。
當我在Microsoft Visual Basic窗口並且我有打開Sheet 1(員工庫存)選項卡的Excel電子表格和當我單擊運行時,我會收到以下錯誤:運行時錯誤'1004':應用程序定義或對象定義的錯誤。當我點擊「PB」選項卡時,沒有任何內容正在複製和粘貼在那裏。然而,當我點擊PB選項卡,然後點擊Run Sub,代碼就會執行,任何包含第一個單詞「PB」的行都將被複制並粘貼到「PB」選項卡中。
我的問題是,爲什麼它只在打開Sheet2時才起作用,而不是在Sheet1打開時起作用?