错误从多个Excel工作簿拉取关键信息
我正在尝试在工作簿中编写一个macros,其目的是显示一组excel文件中的关键信息。 第一列包含将在代码中使用的文件的名称。
我迄今为止编写的代码应循环显示汇总表中11个文件名的列表,并从每个文件中的单元格E21中调用信息,并将其放在汇总表中的单元格Hx中。
我已经没有运气得到它的工作到目前为止,我的第一个错误得到是“无效的限定符”的行说,“MySheet”。 我知道这里还有很多其他的错误,因为我从来没有试图写出一个从其他封闭的工作簿中拉出来的子。
我的代码如下:
Option Explicit Sub OEEsummmary() Dim Gcell As Range Dim Txt$, MyPath$, MyWB$, MySheet$ Dim myValue As Integer Dim x As Long Dim v As Variant, r As Range, rWhere As Range MyPath = "L:\Manufacturing Engineering\Samuel Hatcher\" x = 2 MySheet = ActiveSheet.Name Application.ScreenUpdating = False Do While MySheet.Range("A" & x).Value <> "" MyWB = MySheet.Range("A" & x).Txt Workbooks.Open Filename:=MyPath & MyWB Set Gcell = ActiveSheet.Range("E21") With ThisWorkbook.ActiveSheet.Range("A" & x) .Value = "Item" .Offset(7, 0).Value = Gcell.Value End With ActiveWorkbook.Close savechanges:=False x = x + 1 Loop End Sub
我查看了一个无效的限定符错误是什么,我不明白我有什么我的代码的一部分错了。 任何帮助,以及任何其他盲目的错误将不胜感激!
我看到导致Invalid Qualifier
错误的问题是,您将MySheet
声明为一个string,但试图将其用作Worksheet
对象。 下面我将它声明为工作表并将其设置为Activesheet
。 我也改变了ThisWorkbook.ActiveSheet
引用MySheet
,我认为你想要的。 Txt
更改为Text
:
Sub OEEsummmary() Dim Gcell As Range Dim MySheet As Worksheet Dim Txt$, MyPath$, MyWB$ Dim myValue As Integer Dim x As Long Dim v As Variant, r As Range, rWhere As Range MyPath = "L:\Manufacturing Engineering\Samuel Hatcher\" x = 2 Set MySheet = ActiveSheet Application.ScreenUpdating = False Do While MySheet.Range("A" & x).Value <> "" MyWB = MySheet.Range("A" & x).Text Workbooks.Open Filename:=MyPath & MyWB Set Gcell = ActiveSheet.Range("E21") With MySheet.Range("A" & x) .Value = "Item" .Offset(7, 0).Value = Gcell.Value End With ActiveWorkbook.Close savechanges:=False x = x + 1 Loop End Sub