Rob*_*b A 8 excel vba excel-vba
基本上我需要从另一个工作簿中收集一些数字(找到并可以由UserForm打开,因此位置和名称是可变的).我需要使用VBA,因为我还需要用这些数据填充图表.我宁愿不必打开其他工作簿来做到这一点,但如果它更容易,那就OK了.
UserForm已经完成并且工作正常,我有填充图表所需的代码,但是我无法让VBA从其他工作簿中提取数据并将其分配给我需要它的变量.
关于如何让VBA这样做的任何想法?这将不胜感激.
谢谢,
抢.
Ada*_*lph 11
如果要访问其中的数据,则必须以这种或那种方式打开文件.显然,一种方法是在Excel应用程序实例中打开它,例如: -
(未经测试的代码)
Dim wbk As Workbook
Set wbk = Workbooks.Open("C:\myworkbook.xls")
' now you can manipulate the data in the workbook anyway you want, e.g. '
Dim x As Variant
x = wbk.Worksheets("Sheet1").Range("A6").Value
Call wbk.Worksheets("Sheet2").Range("A1:G100").Copy
Call ThisWorbook.Worksheets("Target").Range("A1").PasteSpecial(xlPasteValues)
Application.CutCopyMode = False
' etc '
Call wbk.Close(False)
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用Excel ADODB提供程序打开与该文件的连接,然后使用SQL从您想要的工作表中选择数据,但由于您无论如何在Excel中工作,我不相信有任何这样做的原因而不仅仅是打开工作簿.请注意,Workbooks.Open()方法有可选参数以只读方式打开工作簿等.