gpt4 book ai didi

Excel VBA 使用 for 循环创建下标错误

转载 作者:行者123 更新时间:2023-12-04 20:53:05 25 4
gpt4 key购买 nike

我是 VBA 新手,但我正在尝试。

当您按下工作表上的按钮时,我试图打开另一个 Excel 文件,从中获取行并将其复制到我当前的 Excel 文件中。我想要这个自动化,所以你只需要按 1 个按钮。

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。当我运行脚本时,我得到“下标超出范围”“运行时错误 9”。

最佳答案

您可能会遇到以下代码中已纠正的不合格范围的问题。请试一试!如果这不起作用,我的猜测是您在代码中写入的工作表名称与工作簿中实际存在的工作表名称之间存在轻微的不匹配。

代码还更新为使工作表变量变暗以提高可读性,使用更标准的最后一行 (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 Sub

关于Excel VBA 使用 for 循环创建下标错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53638085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com