我是VBA的新手,但我正在尝试。
我正在尝试当您按下工作表上的按钮时,打开另一个Excel文件,从中获取行,并将其复制到我当前的Excel文件中。我希望这是自动化的,所以你只需要按下一个按钮。
Private Sub CommandButton1_Click()
Dim src As Workbook
Set src = Workbooks.Open("C:\Users\gregg\Downloads\download.xls", True, True)
Dim iTotalRows As Integer
iTotalRows = src.Worksheets("download").Range("B1:B" & Cells(Rows.Count, "B").End(xlUp).Row).Rows.Count
Dim iCnt As Integer
For iCnt = 1 To iTotalRows
Worksheets("Elszamolas").Range("B" & iCnt).Formula = src.Worksheets("download").Range("B" & iCnt).Formula
Next iCnt
End Sub这就是我目前所拥有的。我想复制从文件下载表下载到文件napiElszamolas表Elszamolas。当我运行脚本时,我得到"Subscript out of range“" run -time error 9”。
发布于 2018-12-06 02:34:17
您可能会遇到不合格范围的问题,已在以下代码中对其进行了更正。请试一试!如果这不起作用,我猜测您在代码中编写的工作表名称与工作簿中实际存在的工作表名称之间存在微小的不匹配。
代码还更新为模糊工作表变量以提高可读性,使用更标准的最后一行(LR)计算和循环名称(i)。
Option Explicit
Private Sub CommandButton1_Click()
Dim src As Workbook: Set src = Workbooks.Open("C:\Users\gregg\Downloads\download.xls", True, True)
Dim DL As Worksheet: Set DL = src.Sheets("download")
Dim EZ As Worksheet: Set EZ = src.Sheets("Elszamolas")
Dim i As Long
For i = 1 To DL.Range("B" & DL.Rows.Count).End(xlUp).Row
EZ.Range("B" & i).Formula = DL.Range("B" & i).Formula
Next i
End Subhttps://stackoverflow.com/questions/53638085
复制相似问题