ユーザーがApplication.FileDialog(msoFileDialogFilePicker)関数で選択したブックとして次のエラーメッセージが表示されているワークブック変数 "Detailwb"を設定しようとしています: "ランタイムエラー '9':以下のコードの最後の行にある「範囲外の添え字」を参照してください。私は、ワークブックの呼び出しがこの形式でなければならないことを知っています。ワークブック( "ファイル名")ですが、ユーザーが選択した.xlsxファイルをプログラムが呼び出すようにします。私は、これを達成するための正しい構文/方法が何であるか分かりません。文字列変数として持つファイル名に基づいてワークブック変数を設定するにはどうすればよいですか? (VBA)
ここに抜粋があります。
Private Sub CommandButton1_Click()
'Define All Variables
Dim GCell As Range
Dim fDialog As FileDialog, result As Integer
Dim Detailwb As Workbook
Dim Timewb As Workbook
Dim MyDetailReport As String
Dim MyTimeSheet As String
Dim MySheet As String
Dim ProjNum As String
Dim PhaseCode As String
Dim Hours As String
Dim WkEndDate As String
Dim FindRowNumber As Long
Dim FindColumn As Long
'Define Workbooks
Set Timewb = ThisWorkbook
'Find source file
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
fDialog.AllowMultiSelect = False
fDialog.Title = "Select Daily Report File to Import"
fDialog.InitialFileName = "W:\PDX - Mechanical Construction\Operations\Detailing\Daily Tracking Logs\"
fDialog.Filters.Clear
fDialog.Filters.Add "Excel files", "*.xlsx"
If fDialog.Show = -1 Then
MyDetailReport = fDialog.SelectedItems(1)
End If
Workbooks.Open Filename:=MyDetailReport & MyTimeSheet
Set Detailwb = Workbooks(MyDetailReport)
ええ、MyTimeSheetは何ですか?このサブルーチンでは定義されていません。それはグローバル変数ですか? "&MyTimeSheet"を削除して何が起こるかを確認してください –