既に開いているブックを選択して操作するマクロを作成しています。
ユーザーフォームを介して名前を取得した後、ワークブックを設定しようとしたり、それ以外の方法でワークブックを操作しようとすると、範囲外の添字エラーが発生します。
ワークブックが開いていること、および ExcelAp オブジェクトが Excel の正しいインスタンスに接続していることを確認しました。
Option Explicit
....
Public Sub TerminalOpen()
Dim WorkbookOpen As VbMsgBoxResult
Dim ExcelAp As Excel.Application
Dim FedExWkbk As Excel.Workbook
....
Else
Set ExcelAp = Excel.Application
WorkbookSelection.Show
WkbkFedExTracking = Trim(VBA.Left(WkbkFedExTracking, InStr(1, WkbkFedExTracking, ".", vbTextCompare) - 1))
Set FedExWkbk = ExcelAp.Workbooks(WkbkFedExTracking) <<<<< This is where the error occurs
FedExWkbk.Activate
End If
ExcelAp を遅延バインディングしてみました。このアプローチは他の例ではうまくいったようですが、この例ではうまくいきませんでした。
ブック名は WkbkFedExTracking 文字列に格納されます。.xlsx 部分を除いたワークブックの名前だけにクリーンアップされます。また、デバッグ時に、開いているワークブックの名前と照合して確認しましたが、正しいです。