Access VBA Excelを読み込むには?
①Access VBAでExcelファイルのデータを読み込むには、以下のようなコードを使用します。
まず、参照設定を追加する必要があります。
Visual Basic Editorで、メニューの「ツール」から「参照設定」をクリックします。次に、「Microsoft Excel XX.X Object Library」(XX.XはExcelのバージョン番号)を選択し、「OK」をクリックして設定を保存します。
次に、以下のようなコードを使用してExcelファイルを開き、データを読み込むことができます。
ソースコードは次に記載します。
Dim xlApp As Excel.Application
Dim xlWorkbook As Excel.Workbook
Dim xlWorksheet As Excel.Worksheet
Dim lastRow As Long
Dim i As Long
Set xlApp = New Excel.Application
Set xlWorkbook = xlApp.Workbooks.Open("C:\path\to\your\file.xlsx")
Set xlWorksheet = xlWorkbook.Sheets("Sheet1") '読み込むシート名を指定
'最終行を取得
lastRow = xlWorksheet.Cells(xlWorksheet.Rows.Count, "A").End(xlUp).Row
For i = 1 To lastRow '1行ずつデータを読み込む
Debug.Print
xlWorksheet.Cells(i, 1).Value'データを表示する
’(Debug.Printはデバッグ用のコマンド)
Next i xlWorkbook.Close 'Excelファイルを閉じる
xlApp.Quit 'Excelアプリケーションを終了する
Set xlWorksheet = Nothing
Set xlWorkbook = Nothing
Set xlApp = Nothing
この例では、Excelファイルを開き、"Sheet1"シートからデータを読み込んでいます。最終行を取得し、1行ずつデータを読み込み、Debug.Printを使用してデータを表示しています。最後に、Excelファイルを閉じてExcelアプリケーションを終了しています。
このコードを必要に応じて修正して、自分のデータの読み込みに適合させてください。
②エラー処理を追加する場合は下記になります。
この例では、Excelファイルを開く際に発生したエラーを処理しています。
On Error GoTo ErrorHandler
Dim xlApp As Excel.Application
Dim xlWorkbook As Excel.Workbook
Dim xlWorksheet As Excel.Worksheet
Dim lastRow As Long
Dim i As Long
Set xlApp = New Excel.Application
Set xlWorkbook = xlApp.Workbooks.Open("C:\path\to\your\file.xlsx")
Set xlWorksheet = xlWorkbook.Sheets("Sheet1") '読み込むシート名を指定
lastRow = xlWorksheet.Cells(xlWorksheet.Rows.Count, "A").End(xlUp).Row
' ↑ 最終行を取得
For i = 1 To lastRow
' ↑ 1行ずつデータを読み込む
Debug.Print xlWorksheet.Cells(i, 1).Value
' ↑ データを表示する(Debug.Printはデバッグ用のコマンド) Next i xlWorkbook.Close 'Excelファイルを閉じる
xlApp.Quit 'Excelアプリケーションを終了する
Set xlWorksheet = Nothing
Set xlWorkbook = Nothing
Set xlApp = Nothing Exit
Sub ErrorHandler:
MsgBox "エラーが発生しました: " & Err.Description xlWorkbook.Close xlApp.Quit Set xlWorksheet = Nothing
Set xlWorkbook = Nothing
Set xlApp = Nothing Exit Sub