' GLOBAL変数の定義
Dim CurrentDir As String '現在のディレクトリ
Dim ThisBook As String '現在のブック名
Dim WorkSheetName1 As String
Dim WorkSheetName2 As String
Dim ConfigSheetName As String
Dim ListSheetName1 As String
Dim ListSheetName2 As String
Dim ListSheetName3 As String
Dim ListSheetName4 As String
Dim ListSheetName5 As String
Dim ListSheetName6 As String
Dim ListSheetName7 As String
Dim ErrorFlag As Integer 'エラーフラグ 0:正常 1:エラー
Sub 初期設定()
CurrentDir = ActiveWorkbook.Path '現在のディレクトリ
ThisBook = ActiveWorkbook.Name '現在のブック名
WorkSheetName1 = "work1"
WorkSheetName2 = "work2"
ConfigSheetName = "設定"
ListSheetName1 = "****"
ListSheetName2 = "****"
ListSheetName3 = "****"
ListSheetName4 = "****"
ListSheetName5 = "****"
ListSheetName6 = "****"
ListSheetName7 = "****"
Application.DisplayAlerts = False 'EXCELの警告を無視する
End Sub
Sub CSV取り込み()
Dim LoadBook As String '読み込みブック名
Dim DataMaxCol As Integer '読み込みデータ有効最大カラム数
Dim WorkStartRow As Integer 'workシート開始行
Dim WorkEndRow As Integer 'workシート終了行
Dim ListMaxCol As Integer '一覧シート有効最大カラム数
Dim ListStartRow As Integer '一覧シート開始行
'初期設定コール
Call 初期設定
'workシートをクリア
DataMaxCol = Sheets(ConfigSheetName).Range("F2").Value
WorkStartRow = Sheets(ConfigSheetName).Range("F3").Value
WorkEndRow = Sheets(ConfigSheetName).Range("F4").Value
Sheets(WorkSheetName1).Select
Range(Cells(WorkStartRow, 1), Cells(WorkEndRow, DataMaxCol)).ClearContents
'受注データファイルを選択しオープン
SelectedPath = Application.GetOpenFilename("CSVファイル (*.csv), *.csv")
If SelectedPath <> "False" Then
Workbooks.Open Filename:=(SelectedPath)
Else
'キャンセル時は終了
Exit Sub
End If
LoadBook = ActiveWorkbook.Name '現在のブック名
'受注データの開始行をチェック
I = WorkStartRow
'受注データの最終行をチェック
Do Until ActiveCell.Value = ""
I = I + 1
Cells(I, 1).Select
Loop
WorkEndRow = I - 1
'受注データをコピー
Range(Cells(WorkStartRow, 1), Cells(WorkEndRow, DataMaxCol)).Select
Selection.Copy
'workシートへペースト
Windows(ThisBook).Activate
Sheets(WorkSheetName1).Select
Range("A1").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
'受注データファイルをクローズ
Windows(LoadBook).Close
End Sub
このマクロを実行するとインデックスが有効範囲にありませんとなりエラーとなってしまいます。
あと最後のデータファイルをクローズできればOKなのですが・・。
どこがいけないんでしょうか?
No.2ベストアンサー
- 回答日時:
すみません。
。適当に回答してしまいました。。エラーがどの行で発生するのか書かれてませんので、具体的に「ここ」
といったアドバイスができませんが、たぶん変数のどこかが Empty(空)
なのだと思います。例えば、
'受注データファイルをクローズ
> Windows(LoadBook).Close
この行でエラーになるのなら、変数 LoadBook が空っぽとか。
デバッグモードになったとき、Visual Basic Editor のメニュー
[表示]-[ローカルウインドウ]
として、編集の中身が正しく代入されているかチェックしてみて下さい。
No.1
- 回答日時:
> あと最後のデータファイルをクローズできればOKなのですが・・。
'受注データファイルをクローズ
Windows(LoadBook).Close
↓
'受注データファイルをクローズ
Workbooks(LoadBook).Close
では?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたい 6 2023/01/23 12:00
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Excel(エクセル) マクロでテキストファイルを読み込んだ際の最終セルにデータと改行が含まれる問題の改善方法 2 2022/03/25 16:50
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
別ブックをダイアログボックス...
-
VBS Bookを閉じるコード
-
ワイルドカード「*」を使うとう...
-
vbaでvbaProjectのパスワード解...
-
VBAで別ブックのシートを指定し...
-
【ExcelVBA】zip圧縮されたCSV...
-
【VBA】全シートの計算式を全て...
-
【ExcelVBA】インデックスが有...
-
複数のエクセルブックをひとつ...
-
拡張メタファイルにて貼り付け
-
複数のブックからデータを転記...
-
フォルダ内の全てのファイルに...
-
エクセルのマクロについて教え...
-
現在開いているbook全てを対象...
-
エクセルのマクロについて教え...
-
【前回の続きです、ご教示くだ...
-
VBAで複数のブックを開かずに処...
-
別ブックの列同士の値が一致し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA シートをコピーする際に Co...
-
エクセルVBAが途中で止まります
-
別ブックをダイアログボックス...
-
【ExcelVBA】インデックスが有...
-
ワイルドカード「*」を使うとう...
-
【ExcelVBA】VBA実行でダイアロ...
-
ExcelのVBAです。フォルダ内の...
-
フォルダ内の全てのファイルに...
-
VBA コードを実行すると画面が...
-
VBA 別ブックからコピペしたい...
-
VBAで別ブックのシートを指定し...
-
VBS Bookを閉じるコード
-
vbaでvbaProjectのパスワード解...
-
【VBA】全シートの計算式を全て...
-
VBA シート名が一致した場合の...
-
【ExcelVBA】zip圧縮されたCSV...
-
複数のエクセルブックをひとつ...
-
VBSでExcelのオープン確認
-
VBAで別のブックにシートをコピ...
-
【Excel VBA】書き込み先ブック...
おすすめ情報