動作検証バージョン:Windows 11 Home + 64bit Access & Excel バージョン 2404(ビルド17531.20000クイック実行)ベータチャネル
「accessvba excel 入力範囲全選択」
といった検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがありました。
Access VBAを使って、Excelのワークシートでデータの入力されているセル範囲を選択するにはどのようなコードを書けばいいのか調べていらしたのでしょう。
[スポンサードリンク]
ExcelのUsedRangeを選択するサンプルプロシージャ
セル範囲を選択したい、データの入力されているワークシートがアクティブな状態で以下のSubプロシージャを実行してください。
Sub アクティブなExcelシートのUsedRangeを選択する()
On Error GoTo ErrHandl
With GetObject(Class:="Excel.Application")
.ActiveSheet.UsedRange.Select
End With
Exit Sub
ErrHandl:
Select Case Err.Number
Case 429
MsgBox "Excelが起動していないようです。"
Case 91
MsgBox "Excelファイルが開かれていないようです。"
Case Else
MsgBox Err.Description & vbCrLf & Err.Number
End Select
Err.Clear
End Sub
On Error GoTo ErrHandl
With GetObject(Class:="Excel.Application")
.ActiveSheet.UsedRange.Select
End With
Exit Sub
ErrHandl:
Select Case Err.Number
Case 429
MsgBox "Excelが起動していないようです。"
Case 91
MsgBox "Excelファイルが開かれていないようです。"
Case Else
MsgBox Err.Description & vbCrLf & Err.Number
End Select
Err.Clear
End Sub
データの入力されているセル範囲が選択されます。
サンプルプロシージャで行っている処理
まず、VBAのGetObject関数を使って、起動しているExcel.Applicationへの参照を取得します。
With GetObject(Class:="Excel.Application")
Access VBAで起動済みのExcelを操作する際の定番処理です。
Excel.Applicationへの参照を取得した後は、
実質的にExcel VBAです。
Excel.Application.ActiveSheetプロパティで、
.ActiveSheet.UsedRange.Select
アクティブなワークシートを表すExcel.Worksheetオブジェクトを取得して、
Worksheet.UsedRangeプロパティで
.ActiveSheet.UsedRange.Select
使用済みセル範囲を表すExce.Rangeオブジェクトを取得し、
Range.Selectメソッドで
.ActiveSheet.UsedRange.Select
選択を行っています。
最終更新日時:2024-04-12 14:51
[スポンサードリンク]
Home » Access VBA » Access VBAでExcelの使用済セル範囲を選択する