簡體   English   中英

使用單元格引用作為工作簿和工作表的名稱來激活Excel工作簿/工作表

[英]Activating Excel Workbook/Sheet using cell reference as name of Workbook and Worksheet

這是我的代碼。

我在Workbooks(FileName).Activate行上遇到下標錯誤。

Sub GoToRoomSchedule()
'
' GoToRoomSchedule Macro
'   Set up Workbook as a reference to Cell J9 contents (MonthYear based on calendar selection)
'   Set up Worksheet as a reference to Cell H4 contents (Day of month based on calendar selection)

    Dim WBook As String
    Dim FileName As String
    FileName = Range("J4")
    WBook = FileName
    Workbooks(FileName).Activate

    Dim WSheet As String
    Dim SheetName As String
    SheetName = Range("H4")
    WSheet = SheetName
    Sheets(SheetName).Select

End Sub

這里可能發生幾件事。

在我的測試中都給出了錯誤

運行時錯誤“ 9”:下標超出范圍

首先,在您的一條評論中,您說您將月份和年份從其他兩個單元格連接到J4中,例如,如果給出的是November2017 ,則將出現上面的錯誤,因為它正在尋找文件名。 但是,如果J4提供November11.xlsx,則它將查找該文件。

其次,如果J4提供November2017.xlsx,但此文件尚未打開,則還將顯示上述錯誤。

我有同樣的問題。

將工作簿(FileName).Activate更改為工作簿(FileName.value).Activate

您必須提供.value方法,因為您要引用的是單元格的值而不是單元格的目的地。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM