EXCEL、VBAについて
' 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なのですが・・。
どこがいけないんでしょうか?
お礼
ありがとうございます 通りました。とりいそぎ