我需要在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
答案 0 :(得分:1)
你的话说
Set xlSheet = xlApp.Sheets(Sheets.Count)
实际应该是
Set xlSheet = xlBook.Sheets(xlBook.Sheets.Count)
使用xlApp.Sheets
可能不是问题,因为这可能违反了xlApp
Excel实例中的活动工作簿,但是Sheets.Count
(没有xlApp
或xlBook
限定符)不会引用在不同Excel实例中打开的工作簿 - 它将指代运行代码的Excel实例中的活动工作簿。