通过VBA访问另一个Excel实例中的Excel 2010工作表
我有一个生成多个电子表格的流程。它不会保存它们,这很好,因为通常它们是手动保存的。 我想写一个宏,按顺序访问每个工作表,执行一些魔术,然后保存并关闭工作表。 使用Excel 2016时,这不是问题。 但是我的工作中有Excel 2010,它看不到任何工作手册 在Excel 2016中,此方法有效:通过VBA访问另一个Excel实例中的Excel 2010工作表,excel,excel-2010,vba,Excel,Excel 2010,Vba,我有一个生成多个电子表格的流程。它不会保存它们,这很好,因为通常它们是手动保存的。 我想写一个宏,按顺序访问每个工作表,执行一些魔术,然后保存并关闭工作表。 使用Excel 2016时,这不是问题。 但是我的工作中有Excel 2010,它看不到任何工作手册 在Excel 2016中,此方法有效: Workbooks("Book3").sheets("B3T1").activate ActiveWindow.WindowState = xlMaximized 使用Excel 2010,我收到的
Workbooks("Book3").sheets("B3T1").activate
ActiveWindow.WindowState = xlMaximized
使用Excel 2010,我收到的信息如下:
Workbooks("Book3").sheets("B3T1").activate
runtime error '9'. Subscript out of Range
我应该使用什么方法打开外部工作簿
谢谢,如果正在访问的工作簿已保存在某个位置,请提前 这将打开外部文件并访问它们。宏还将关闭并保存文件
Dim wb As Workbook
Dim fileloc As String
fileloc = "" & "C:namenamename" & ".xlsm" & ""
Set wb = Workbooks.Open(fileloc)
wb.Worksheets("Sheet1").activate
wb.Close savechanges:=True
生成工作表的流程不会保存工作表。那是手动操作。共有100张工作表,我想找到一种方法来避免将每张工作表最大化/处理/保存 GetObject方法终于起作用了:
For ptr = 1 To 100
Set xlApp = GetObject("Book" & ptr).Application
xlApp.Application.Workbooks("Book" & ptr).Sheets(1).Activate
do some processing
xlApp.Application.Quit
next
一小时以上的流程现在缩短为1秒您的外部工作簿是否始终位于同一存储库中?如果是这样,您可以使用工作簿。打开方法?工作簿已打开。它还没有被保存。它们是第一册……第十八册。每一行有两张工作表“表”、“数据”您是否尝试将这一行分成两行,以查看“超出范围”错误是否来自工作表或工作簿?是工作簿(“名称”)导致了问题。