【VBA】シートにあるデータを配列に格納する(空白含まない)|CurrentRegion
作成日:2022-12-04
更新日:2025-09-30

空白行・空白列で囲まれた内側の範囲を取得する
空白を含まないデータになる
Public Function GetSheetDataCurrent( _
ByVal ws As Worksheet, _
ByVal row As Long, _
ByVal col As Long) As Variant
GetSheetDataCurrent = ws.Cells(row, col).CurrentRegion.value
End Function堅牢な作りにする場合
' Get values of the CurrentRegion for a given cell
' 指定セルを基点としたCurrentRegionの値を取得する
Public Function GetCurrentRegionValues( _
ByVal ws As Worksheet, _
ByVal row As Long, _
ByVal col As Long) As Variant
Dim targetCell As Range
Dim result As Variant
' Validate input arguments / 入力検証
If row < 1 Or col < 1 Then
Exit Function
End If
' Assign target cell safely / 対象セルの安全な参照
Set targetCell = ws.Cells(row, col)
' If targetCell is empty, exit / 空セルなら終了
If IsEmpty(targetCell.Value) Then
Exit Function
End If
' Get CurrentRegion values / CurrentRegionを配列で取得
On Error GoTo ErrHandler
result = targetCell.CurrentRegion.Value
GetCurrentRegionValues = result
On Error GoTo 0
Exit Function
ErrHandler:
' Optional: return Empty or raise error
GetCurrentRegionValues = Empty
On Error GoTo 0
End Function
途中に空白が含まれている場合は、UsedRange
テーブルの場合

同じ処理をPythonでも書いてみよう
2022-12-04
編集後記:
この記事の内容がベストではないかもしれません。
記事一覧
-

[VBA]Dirで存在確認 【VBA】フォルダとファイルの存在確認|FSOよりもDir -

[VBA]openbook 【VBA】ブックを開く|OpenBook -

ユーザーフォームを半透明にする 【VBA】ユーザーフォームを半透明にしてシートの内容が見えるようにする|waiting-form -

文字列から拡張子を取得する 【VBA】文字列から拡張子を取得して、文字列として返す|InStrRev -

Excel内でSQLを使いたい 【VBA】Excelシート内の表データをSQLで操作したい -

[VBA]Paste 2D Arrayresize once 【VBA】二次元配列をシートに貼り付け【範囲をリサイズする】