错误从多个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