【发布时间】:2019-12-09 03:49:24
【问题描述】:
问题: 在 VBA 中为源工作簿名称创建单元格引用时出现问题。错误 9 下标超出范围。
我正在做的任务? 前任。我必须将工作簿(主)中的 50 列中的 32 列复制到新工作簿中。我可以编写代码以在新工作簿中按所需顺序复制和粘贴列。
主工作簿是一个注册模板,用于获取人们的信息,并以新名称保存。 我有超过 65 个工作簿(硕士)要复制。我试图在粘贴源工作簿(主)名称的地方进行单元格引用。我知道源工作簿必须打开才能运行 VBA。
我将 icell 作为变量从单元格 B2 中获取该值,在那里我粘贴了工作簿名称,但代码没有运行。
附上代码 任何建议都非常感谢。
Sub Copy_Paste()
Dim iCell As String
iCell = Workbooks("Crack it").Worksheets("Intro").Range("B2").Value
'B2 will store the name of source workbook for copying data which will keep on changing
Workbooks("iCell").Worksheets("Register").Range("E2:E50").Copy
Workbooks("Crack it.xlsm").Worksheets("Risk").Range("A2").PasteSpecial Paste:=xlPasteValues 'Refid
Workbooks("iCell").Worksheets("Register").Range("H2:H50").Copy
Workbooks("Crack it.xlsm").Worksheets("Risk").Range("B2").PasteSpecial Paste:=xlPasteValues 'Tags
Workbooks("iCell").Worksheets("Register").Range("A2:A50").Copy
Workbooks("Crack it.xlsm").Worksheets("Risk").Range("c2").PasteSpecial Paste:=xlPasteValues 'Name
Workbooks("iCell").Worksheets("Register").Range("Z2:Z50").Copy
Workbooks("Crack it.xlsm").Worksheets("Risk").Range("D2").PasteSpecial Paste:=xlPasteValues 'Element
...... code keeps on repeating till column 32th
End Sub
【问题讨论】: