【VBA】Excel 指定されたExcelファイルを読み込む方法

VBA

Excel VBA 一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

【VBA】Excel カラム(列番号)をアルファベットから番号(数字)に変換する方法(1行でOK)
カラムをアルファベットから数字に変換する方法をお伝えします。

今回は、とっても価値の高い方法をお伝えします。


これを知ることであなたは、

セルに指定したExcelファイルを読み込むことができます。

こうすることで、結合されたセルも展開することが
できるので何かと便利です。

 

 

VBAスクリプト

 

指定されたパスからExcelファイルを読み込む
'------------------------------------------
'指定されたパスとシートNoからワークシートを読み込む
'FilePath ファイルのフルパス
'SheetNo シートNo
'戻り値 ファイルの中身
'------------------------------------------
Public Function GetExcelData(ByVal FilePath As String, ByVal SheetNo As Integer) As Variant
Dim wb As Workbook
Dim ws As Worksheet

'ワークブックを開く
Set wb = Workbooks.Open(FilePath)

'シートを取得
Set ws = wb.Worksheets(SheetNo)

'データ入力されている範囲を取得する
GetExcelData = ws.UsedRange

'ワークブックを閉じる
wb.Close

'メモリー開放
Set ws = Nothing
Set wb = Nothing

End Function

 

テスト用呼び出しスクリプト
Function test()
Dim FilePath As String
Dim InSheetNo As String
Dim AllData As Variant



With ThisWorkbook.Sheets(1)
FilePath = .Range("B1")
InSheetNo = .Range("B2")
End With

AllData = GetExcelData(FilePath, InSheetNo)


Dim MaxRow As Integer, MaxCol As Integer

' '最大行数を取得する
MaxRow = UBound(AllData, 1)

'最大列数を取得する
MaxCol = UBound(AllData, 2)


Debug.Print "行数=", MaxRow, " 列数=", MaxCol,

End Function

 

テスト方法

Step1.
以下の内容のサンプルシートを作成します。

B1セルにフルパス
B2セルにシート番号

 

Step2.

①B1セルに読み込むエクセルファイルをフルパスで入力します。

*Shift+右クリックでパスをコピー後、B1セルにそのままコピペすると楽です。

 

Step3.

上記スクリプトを貼り付けてtestを実行します。

以下のように表示されます。

 

 

最後までご覧いただきありがとうございます。

つぎはこちら

【VBA】Excel 接合したセルの番地を知る方法(結合セル対応)
【VBA】Excelで結合されたセルを華麗に処理することができます。

Excel VBA 一覧

コメント

タイトルとURLをコピーしました