我正在使用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打开时起作用?