需要获取msgbox中的最后一个工作表名称

我需要在msgbox中获取最后一个(最右边的工作表)名称。

我使用Sheets(Sheets.Count)来获取最后一张纸。 但它只给第一张名单。 请帮助我。

这是我的代码。

Sub ShowMRNumber() Dim xlApp As Excel.Application Dim xlBook As Excel.Workbook Dim xlSheet As Excel.Worksheet Set xlApp = New Excel.Application Set xlBook = xlApp.Workbooks.Open("location") Set xlSheet = xlApp.Sheets(Sheets.Count) MsgBox "MR No. is" & vbNewLine xlSheet.Name xlApp.Workbooks.Close End Sub 

你的线说

 Set xlSheet = xlApp.Sheets(Sheets.Count) 

实际上应该是

 Set xlSheet = xlBook.Sheets(xlBook.Sheets.Count) 

使用xlApp.Sheets可能不是问题,因为这可能默认为Excel的xlApp实例中的活动工作簿,但是xlBook (没有xlAppxlBook限定符)不会引用在工作簿中打开的工作簿Excel的不同实例 – 它将引用运行代码的Excel实例中的活动工作簿。