Excel VBA将数据从一个工作簿传输到另一个工作簿

Excel VBA将数据从一个工作簿传输到另一个工作簿,excel,vba,Excel,Vba,我试图写以下内容来将数据从一个工作簿传输到另一个工作簿,但是,它得到了超出脚本范围的错误9。我检查了两次,找不到任何错误。你能帮我查一查我是否遗漏了什么或是出了什么问题吗?非常感谢 Private Sub Transfer_Click() Application.ScreenUpdating = False Sheets("List").Select v = Range("A2").End(xlDown).Row Dim a() Dim b() ReDim a(v - 1) ReDim b(v

我试图写以下内容来将数据从一个工作簿传输到另一个工作簿,但是,它得到了超出脚本范围的错误9。我检查了两次,找不到任何错误。你能帮我查一查我是否遗漏了什么或是出了什么问题吗?非常感谢

Private Sub Transfer_Click()

Application.ScreenUpdating = False
Sheets("List").Select
v = Range("A2").End(xlDown).Row
Dim a()
Dim b()
ReDim a(v - 1)
ReDim b(v - 1)
Sheets("Yahoo").Select
For i = 0 To v - 1 
a(i) = Cells(i + 7, 4) 
b(i) = Cells(i + 7, 5)
Next

ChDir "C:\Users\Desktop\Data Analysis"
Workbooks.Open Filename:="C:\Users\Desktop\Data Analysis\Data.xlsx"

Sheets("List").Select
For i = 2 To Range("A1").End(xlDown).Row 
Sheets("List").Select 
k = Cells(i, 1) 
If k = "" Then Exit For 
Sheets(k).Select 
h = Range("B8").End(xlDown).Row 
Cells(h + 1, "B") = a(i - 2) 
Cells(h + 1, "F") = b(i - 2)
Next

Windows("Data.xlsm").Activate
Sheets("Yahoo").Select
Application.CutCopyMode = False
Workbooks("Data.xlsx").Save
Workbooks("Data.xlsx").Close
Application.ScreenUpdating = True
MsgBox "Successfully transferred!", vb0XOnly, "Notice"


End Sub

哪一行发生错误?“Data.xlsm”和“Data.xlsx”是独立的工作簿,不是吗?避免
。不惜一切代价选择
,这是许多常见错误的根源。发生错误的原因可能是您正在选择一个范围,但没有明确指出是哪个工作簿。您可以这样声明:
Dim wb as Workbook:Set wb=Workbooks.Open(“C:\Users\Desktop\Data Analysis\Data.xlsx”)
。然后您应该使用
wb.Worksheets(“List”).Range(“A1”).End(xlDown).Row
作为示例。在哪一行发生错误?“Data.xlsm”和“Data.xlsx”是独立的工作簿,不是吗?避免
。不惜一切代价选择
,这是许多常见错误的根源。发生错误的原因可能是您正在选择一个范围,但没有明确指出是哪个工作簿。您可以这样声明:
Dim wb as Workbook:Set wb=Workbooks.Open(“C:\Users\Desktop\Data Analysis\Data.xlsx”)
。然后您应该使用wb.Worksheets(“List”).Range(“A1”).End(xlDown).Row
作为示例。