【发布时间】:2018-03-22 15:24:16
【问题描述】:
我正在尝试从一个 Excel 工作簿中复制特定数据并将其放入我创建的另一个工作簿中。我尝试了以下代码的许多变体,但都没有奏效,我一直在该行收到“运行时错误'1004':应用程序定义或对象定义错误'”。我一直遇到问题的行是“wb.Sheets("Sheet1").Range("A6").Value = ThisWorkbook.Sheets("Sheet1").Range(c.Offset(0, 8)).Value" - 我已经包含了完整的上下文代码。
Private Sub Go_Click()
With Worksheets(1).Range("A:A")
'Search from user input for the entry with that last name
Set c = .Find(LNE.Text, , xlValues, xlWhole)
If Not c Is Nothing Then
Dim wb As Workbook
Set wb = Workbooks.Add("\Documents\Custom Office Templates\KFS_Template.xltm")
StartDate = c.Offset(0, 3)
EndDate = c.Offset(0, 4)
If DateDiff("d", SDE.Text, StartDate) > -1 Then
If DateDiff("d", EndDate, EDE.Text) > -1 Then
Set q = Range("A1")
wb.Sheets("Sheet1").Range("A6").Value = ThisWorkbook.Sheets("Sheet1").Range(c.Offset(0, 8)).Value
End If
End If
End If
End With
End Sub
【问题讨论】:
-
你应该使用数组来复制大数据,它更快更安全。另外告诉我你是否知道使用数组,如果不知道我可以为你提供一些代码
-
我猜,因为你做了
With Worksheets(1).Range("A:A")没有注意到工作簿,它抛出了一个错误。试试With ThisWorkbook.Worksheets(1)...看看能不能成功。 -
@lonut 我以前从未使用过数组,你能提供一个例子吗?几周以来,我一直在尝试自学 VBA。
-
@BruceWayne 错误不在该行,但还是谢谢你!我将尝试更改它以获得更简洁的代码。
-
LNE是从哪里来的LNE.text?