Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- '----------------------------------
- '読み込んだファイルのデータをシート[比較元ファイル]に展開する
- '----------------------------------
- Sub ReadXlsFile_Theta()
- '-------------------------
- '変数群
- '-------------------------
- 'ExecuteExcel4MAcro関数の引数にする変数
- Dim Target As String
- '読み込むファイルまでのパスを格納する変数
- Dim myPath As String
- Dim buf As String
- 'xlsファイルからのデータを格納する配列(もしかしたらつかわないかも?)
- Dim myBuf() As String
- 'ファイル名
- Dim myFname As String
- 'シート名
- Dim mySheetName As String
- 'カウンタ変数(行をスキャン)
- Dim Retu As Integer
- '列の終端列
- Dim Retu_E As Integer
- 'カウンタ変数(列をスキャン)
- Dim Gyou As Integer
- '行の終端行
- Dim Gyou_E As Integer
- '画面の更新をオフにする
- Application.ScreenUpdating = False
- '--------------------------------------
- '比較元ファイルの読み込みの処理
- '--------------------------------------
- '対象ブック名を含めたフルパスを取得(ダイアログボックス表示)
- myPath = Application.GetOpenFilename("Microsoft Excel ブック,*.xls?")
- Debug.Print myPath
- 'ツール本体シートのセルD2に読み込んだファイルのフルパスを出力
- Worksheets("ツール本体(TestBed)").Cells(2, 4) = myPath
- 'ファイル名に[]をつける
- myPath = Replace(myPath, Dir(myPath), "[" & Dir(myPath) & "]")
- '対象ワークシート名を取得(ワークシート名[完成データ]をデフォにする)
- mySheetName = InputBox("読み込むファイル名を入力してください(比較元ファイル)", Default:="完成データ")
- Retu_E = InputBox("最終行の番号を入力してください")
- Gyou_E = InputBox("最終列の番号を入力してください")
- '上記の処理で何も入力されなかった場合は、マクロを終了させる
- If mySheetName = "" Then
- MsgBox "シート名が入力されませんでした"
- Exit Sub
- End If
- '変数TargetにExecuteExcel4Macroで使用するデータに整形する
- Target = "'" & myPath & mySheetName & "'!"
- 'Debug.Print Target
- '上記で整形したシート名が有効かどうかの検証をA1で行う
- buf = ExecuteExcel4Macro(Target & "R1C1")
- '上記の処理でシート名が読み込む値が何も無かった場合の処理
- If buf = "" Then
- MsgBox "ワークシート[" & mySheetName & "]読み込み不可", vbExclamation
- 'マクロ終了
- Exit Sub
- End If
- '-----------------------------------
- 'データの読み込み(行・列で読み出す)
- '-----------------------------------
- For Gyou = 1 To Gyou_E
- For Retu = 1 To Retu_E
- '比較元シートに読み込んだデータを展開
- Worksheets("比較元シート").Activate
- ActiveSheet.Cells(Retu, Gyou) = ExecuteExcel4Macro(Target & "R" & Retu & "C" & Gyou)
- Next
- Next
- '--------------------------
- '比較先ファイル読み込み
- '--------------------------
- '対象ブック名を含めたフルパスを取得(ダイアログボックス表示)
- myPath = Application.GetOpenFilename("Microsoft Excel ブック,*.xls?")
- Debug.Print myPath
- 'ツール本体シートのセルD2に読み込んだファイルのフルパスを出力
- Worksheets("ツール本体(TestBed)").Cells(3, 4) = myPath
- 'ファイル名に[]をつける
- myPath = Replace(myPath, Dir(myPath), "[" & Dir(myPath) & "]")
- '対象ワークシート名を取得(ワークシート名[完成データ]をデフォにする)
- mySheetName = InputBox("読み込むファイル名を入力してください(比較先ファイル)", Default:="完成データ")
- Retu_E = InputBox("最終行の番号を入力してください")
- Gyou_E = InputBox("最終列の番号を入力してください")
- '上記の処理で何も入力されなかった場合は、マクロを終了させる
- If mySheetName = "" Then
- MsgBox "シート名が入力されませんでした"
- Exit Sub
- End If
- '変数TargetにExecuteExcel4Macroで使用するデータに整形する
- Target = "'" & myPath & mySheetName & "'!"
- 'Debug.Print Target
- '上記で整形したシート名が有効かどうかの検証をA1で行う
- buf = ExecuteExcel4Macro(Target & "R1C1")
- '上記の処理でシート名が読み込む値が何も無かった場合の処理
- If buf = "" Then
- MsgBox "ワークシート[" & mySheetName & "]読み込み不可", vbExclamation
- 'マクロ終了
- Exit Sub
- End If
- '-----------------------------------
- 'データの読み込み(行・列で読み出す)
- '-----------------------------------
- For Gyou = 1 To Gyou_E
- For Retu = 1 To Retu_E
- '比較先シートにも読み込んだ同じデータを展開
- Worksheets("比較先シート").Activate
- ActiveSheet.Cells(Retu, Gyou) = ExecuteExcel4Macro(Target & "R" & Retu & "C" & Gyou)
- Next
- Next
- MsgBox "ファイル読込終了"
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement