Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在另一个Excel工作簿VBA中修改嵌入的Excel工作簿_Excel_Vba_Createoleobject - Fatal编程技术网

在另一个Excel工作簿VBA中修改嵌入的Excel工作簿

在另一个Excel工作簿VBA中修改嵌入的Excel工作簿,excel,vba,createoleobject,Excel,Vba,Createoleobject,我有一个Excel工作簿,其中嵌入了另一个Excel工作簿。我可以用VBA打开它,但我不知道如何引用和编辑嵌入式工作簿中的某些单元格。你知道怎么做吗?先谢谢你 Sub openembeddedXL2() Sheets("sheet1").OLEObjects("SalesFile").Activate End Sub 只要工作簿处于打开状态,您就可以通过其名称直接引用它 工作簿(“工作簿名称”)等 由于使用工作表(“sheet1”).OLEObjects(“SalesFile”).Acti

我有一个Excel工作簿,其中嵌入了另一个Excel工作簿。我可以用VBA打开它,但我不知道如何引用和编辑嵌入式工作簿中的某些单元格。你知道怎么做吗?先谢谢你

Sub openembeddedXL2()

Sheets("sheet1").OLEObjects("SalesFile").Activate

End Sub

只要工作簿处于打开状态,您就可以通过其名称直接引用它

工作簿(“工作簿名称”)

由于使用
工作表(“sheet1”).OLEObjects(“SalesFile”).Activate打开工作簿,因此与该对象相关的工作簿将作为名为“当前工作簿中的工作表”的文件打开。因此,您可以使用:

Dim wb as workbook
Sheets("sheet1").OLEObjects("SalesFile").Activate
set wb = Workbooks("Worksheet in " & ThisWorkbook.Name)
Thisworkbook.sheets("Sheet1").Range("A1").value = wb.sheets("Sheet1").range("A1").Value 'etc. etc.
wb.Close

Thisworkbook
在这里是一个方便的工具,因为不管当前哪个工作簿处于活动状态,它都会引用宏所在的工作簿。

工作簿(“SalesFile”)。工作表(
等)将用于引用打开的工作簿。“SalesFile”可能重复不是工作簿的名称,而是对象的名称,所以我不认为我可以这样引用它。它不像我想象的那么简单,但是经过一些严格的测试,我根据我的答案为您找到了它。