我有这样的代码工作:(现在使用的Excel 2003)动态簿和工作表名称在宏或VBA
Sub test_copy1()
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set wb1 = Workbooks("Workbook2.xls")
Set wb2 = ThisWorkbook
Set ws1 = wb1.Sheets("Run 1")
Set ws2 = wb2.Sheets("Sheet3")
ws2.Range("A1:h30") = ws1.Range("A177:H206").Value
End Sub
在当前工作簿“表3” 细胞J1 = Workbook2.xls 细胞J2 =运行1
如何将当前工作簿“工作表3”中的信息从单元输入到宏中,以便可以根据需要更改并继续工作?
我的意思是让2个单元格可以在工作表中通过下拉或手动填充当前工作簿工作表“工作表3”进行更改。 单元格:J1将等于文件名(Workbook2.xls),并且J2将等于工作表名称(运行1)。
用户可以在需要时更改文件名和工作表名称,然后点击按钮处理复制和粘贴。
我想要代码从单元中获取信息并将它们放入代码中,而不是对工作簿和工作表的文件名进行“硬”编码。
我希望更有意义
谢谢你的帮助。
〜DA
----- UPDATE ----
我曾尝试这个代码,但它总是崩溃在第一组=为Wb1
Sub test_copy1()
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set wb1 = Workbooks(ws2.Range("J1"))
Set wb2 = ThisWorkbook
Set ws1 = wb1.Sheets(ws2.Range("J2"))
Set ws2 = wb2.Sheets("Sheet3")
ws2.Range("A1:h30") = ws1.Range("A177:H206").Value
End Sub
---- --update -------
我得到了它的使用你所有的例子并添加.value的范围后,工作:)
Sub test_copy1()
Dim wb1 As Workbook
Dim wb2 As Workbook
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set wb2 = ThisWorkbook
Set ws2 = wb2.Sheets("Sheet3")
Set wb1 = Workbooks(ws2.Range("J1").Value)
Set ws1 = wb1.Sheets(ws2.Range("J2").Value)
ws2.Range("A1:h30") = ws1.Range("A177:H206").Value
End Sub
谢谢,谢谢你的帮助!
'设置WB1 =工作簿(ws2.Range( “J1”))'和'设置WS1 = wb1.Sheets(ws2.Range( “J2”))'? –
byw,您的工作簿名称是否始终打开?如果不是'J1'只包含wb名称或完整路径? –
是的两个工作簿始终打开。我现在会尝试你的建议。 – DA69