大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAでRangeで取得したセル範囲から、行、列、行数、列数などを、取得する方法についてご紹介します。Rangeと、Row、Column、Countを組み合わせれば、取得することができます。Rangeは実務でよく使いますので、値を取得する方法についてマスターしていきましょう。

はじめに

この記事では、Rangeで取得したセル範囲から、行数や行番号、値、行の値などを、取得する方法についてご紹介します。

Rangeは実務でよく使われますので、その範囲から自由自在に、値を取得する方法をマスタしましょう。

では、ご紹介していきます。

この記事で紹介すること

  • 行数、列数を取得
  • 行番号、列番号を取得
  • 値を取得
  • 行や列を取得

目次から見たい項目へ移動すると便利ですよ。

目次

ポイントとなるVBAコード

最初にポイントとなるVBAコードを記載しておきます。

VBAコードだけ確認したい場合に、ご活用ください。

Set a = ActiveSheet.Range("B3:E7") 'セル範囲を取得

'行数と列数
b = a.Rows.Count '行数
b = a.Columns.Count '列数

'行番号と列番号
b = a.Row '最初の行番号
b = a.Column '最初の列番号
b = a.Rows(a.Rows.Count).Row '最終行の番号
b = a.Columns(a.Columns.Count).Column '最終列の番号

'値
b = a.Cells(1, 1) '左上の値
b = a.Cells(a.Rows.Count, .a.Columns.Count) '右下の値
b = a.Cells(1, a.Columns.Count) '右上の値
b = a.Cells(a.Rows.Count, 1) '左下の値

'行と列
b = a.Rows(1) '最初の行
b = a.Rows(a.Rows.Count) '最後の行
b = a.Columns(1) '最初の列
b = a.Columns(a.Columns.Count) '最後の列

では、解説していきます。

VBAでRangeの行数や列数を取得

Ragneで取得したセル範囲の、行数や列数を取得するVBAコードをご説明します。

Rangeのイメージ

まず、Rangeで取得したセル範囲から、行数と列数を取得する方法です。

行数と列数を取得

Rangeで取得したセル範囲から、行数と列数を取得するイメージ

次のように取得します。

  • 行数:セル範囲.Rows.Count
  • 列数:セル範囲.Columns.Count

では、取得してみます。

行数と列数を取得してみる

Rangeで取得したセル範囲から、行数と列数を取得してみます。

行数

Rangeで取得したセル範囲の、行数を取得するVBAコードです。

Sub TEST1()
    
    'セル範囲を取得
    Set a = ActiveSheet.Range("B3:E7")
    
    '行数
    b = a.Rows.Count
    
    MsgBox b
    
End Sub

実行してみます。

Rangeで取得したセル範囲の行数を取得した結果

結果は、『5』行となります。

列数

Rangeで取得したセル範囲の、列数を取得するVBAコードです。

Sub TEST2()
    
    'セル範囲を取得
    Set a = ActiveSheet.Range("B3:E7")
    
    '列数
    b = a.Columns.Count
    
    MsgBox b
    
End Sub

実行してみます。

Rangeで取得したセル範囲の列数を取得した結果

結果は、『4』列となります。

VBAでRangeの行番号や列番号を取得

次に、Rangeで取得したセル範囲から、行番号と列番号を取得する方法です。

Rangeのイメージ

Rangeで取得したセル範囲から、行番号と列番号を取得するイメージです。

最初の行番号と列番号を取得

Rangeで取得したセル範囲から、最初の行番号と列番号を取得するイメージです。

Rangeで取得したセル範囲から、行番号と列番号を取得するイメージ

次のように取得します。

  • 最初の行番号:セル範囲.Row
  • 最初の列番号:セル範囲.Column

最終行と最終列の番号を取得

Rangeで取得したセル範囲から、最終行と最終列の番号を取得する方法です。

Rangeで取得したセルは二から、最終行と最終列の番号を取得するイメージ

次のように取得します。

  • 最終行の番号:セル範囲.Rows(セル範囲.Rows.Count).Row
  • 最終列の番号:セル範囲.Columns(セル範囲.Columns.Count).Column

という感じです。

最終行と最終列の番号が、結構ややこしいですね。

行番号と列番号を取得してみる

では、実際に、行番号と列番号を取得してみます。

最初の行番号

Rangeで取得したセル範囲で、最初の行番号を取得するVBAコードです。

Sub TEST3()
    
    'セル範囲を取得
    Set a = ActiveSheet.Range("B3:E7")
    
    '最初の行番号
    b = a.Row
    
    MsgBox b
    
End Sub

実行してみます。

Rangeで取得したセル範囲で、最初の行番号を取得した結果

結果は、『3』行目となります。

最初の列番号

Rangeで取得したセル範囲で、最初の列番号を取得するVBAコードです。

Sub TEST4()
    
    'セル範囲を取得
    Set a = ActiveSheet.Range("B3:E7")
    
    '最初の列番号
    b = a.Column
    
    MsgBox b
    
End Sub

実行してみます。

Rangeで取得したセル範囲で、最初の列番号を取得した結果

結果は、『2』列目となります。

最終行の番号

Rangeで取得したセル範囲で、最後行の番号を取得するVBAコードです。

Sub TEST5()
    
    'セル範囲を取得
    Set a = ActiveSheet.Range("B3:E7")
    
    '最終行の番号
    b = a.Rows(a.Rows.Count).Row
    
    MsgBox b
    
End Sub

実行してみます。

Rangeで取得したセル範囲で、最後の行番号を取得した結果

結果は、『7』行目となります。

最終列の番号

Rangeで取得したセル範囲で、最終列の番号を取得するVBAコードです。

Sub TEST6()
    
    'セル範囲を取得
    Set a = ActiveSheet.Range("B3:E7")
    
    '最終列の番号
    b = a.Columns(a.Columns.Count).Column
    
    MsgBox b
    
End Sub

実行してみます。

Rangeで取得したセル範囲で、最後の列番号を取得した結果

結果は、『5』列目となります。

VBAでRangeの値を取得

次は、取得したRangeの値を取得する方法です。

Rangeのイメージ

Rangeで取得したセル範囲から、セルの値を取得する方法です。

セルの値を取得

Rangeの値を取得するイメージ

次のように取得します。

  • 左上の値:セル範囲.Cells(1,1)
  • 右下の値:セル範囲.Cells(セル範囲.Rows.Count, セル範囲.Columns.Count)
  • 右上の値:セル範囲.Cells(1, セル範囲.Columns.Count)
  • 左下の値:セル範囲.Cells(セル範囲.Rows.Count, 1)

では、Rangeの値を取得してみます。

値を取得してみる

Rangeで取得した範囲の左上、右下、右上、左下を取得してみます。

ここでは、わかりやすく取得した範囲のセルを選択します。

左上の値

Rangeの左上を選択するVBAコードです。

変数に入力すれば、値を取得することができます。

Sub TEST7()
    
    'セル範囲を取得
    Set a = ActiveSheet.Range("B3:E7")
    
    '左上の値
    a.Cells(1, 1).Select
    
End Sub

実行してみます。

Rangeの左上を選択した結果

左上を選択できました。

右下の値

Rangeの右下を選択するVBAコードです。

変数に入力すれば、値を取得することができます。

Sub TEST8()
    
    'セル範囲を取得
    Set a = ActiveSheet.Range("B3:E7")
    
    '右下の値
    a.Cells(a.Rows.Count, a.Columns.Count).Select
    
End Sub

実行してみます。

Rangeの右下を選択した結果

右下を選択できました。

右上の値

Rangeの右上を選択するVBAコードです。

変数に入力すれば、値を取得することができます。

Sub TEST9()
    
    'セル範囲を取得
    Set a = ActiveSheet.Range("B3:E7")
    
    '右上の値
    a.Cells(1, a.Columns.Count).Select
    
End Sub

実行してみます。

Rangeの右上を選択した結果

右上を選択できました。

左下の値

Rangeの左下を選択するVBAコードです。

変数に入力すれば、値を取得することができます。

Sub TEST10()
    
    'セル範囲を取得
    Set a = ActiveSheet.Range("B3:E7")
    
    '左下の値
    a.Cells(a.Rows.Count, 1).Select
    
End Sub

実行してみます。

Rangeの左下を選択した結果

左下を選択できました。

こんな感じで、Rangeの値を取得することができます。

VBAでRangeの行や列を取得

次は、Rangeで取得したセル範囲の、行や列を取得する方法です。

Rangeのイメージ

Rangeで取得したセル範囲の、行や列を取得する方法です。

行を取得

Rangeで取得したセル範囲の、行を取得するイメージ

行を取得するには、

  • 最初の行:セル範囲.Rows(1)
  • 最後の行:セル範囲.Rows(セル範囲.Rows.Count)

のように入力します。

列を取得

Rangeで取得したセル範囲の、列を取得するイメージ

列を取得するには、

  • 最初の列:セル範囲.Columns(1)
  • 最後の列:セル範囲.Columns(セル範囲.Columns.Count)

という感じで、取得できます。

では、実際に、VBAコードを作成して実行してみます。

行や列を取得してみる

Rangeで取得したセル範囲の、行や列を取得するVBAコードを実行してみます。

わかりやすくするため、セルを選択する方法を紹介します。

最初の行

Rangeで取得したセル範囲の、最初の行を選択する方法です。

取得したセル範囲を、変数に代入すれば、値を取得することができます。

Sub TEST11()
    
    'セル範囲を取得
    Set a = ActiveSheet.Range("B3:E7")
    
    '最初の行
    a.Rows(1).Select
    
End Sub

実行してみます。

Rangeで取得したセル範囲の、最初の行を選択した結果

最初の行を選択することができました。

最後の行

Rangeで取得したセル範囲の、最後の行を選択する方法です。

取得したセル範囲を、変数に代入すれば、値を取得することができます。

Sub TEST12()
    
    'セル範囲を取得
    Set a = ActiveSheet.Range("B3:E7")
    
    '最後の行
    a.Rows(a.Rows.Count).Select
    
End Sub

実行してみます。

Rangeで取得したセル範囲の、最後の行を選択した結果

最後の行を選択することができました。

最初の列

Rangeで取得したセル範囲の、最初の列を選択する方法です。

取得したセル範囲を、変数に代入すれば、値を取得することができます。

Sub TEST13()
    
    'セル範囲を取得
    Set a = ActiveSheet.Range("B3:E7")
    
    '最初の列
    a.Columns(1).Select
    
End Sub

実行してみます。

Rangeで取得したセル範囲の、最初の列を選択した結果

最初の列を選択することができました。

最後の列

Rangeで取得したセル範囲の、最後の列を選択する方法です。

取得したセル範囲を、変数に代入すれば、値を取得することができます。

Sub TEST14()
    
    'セル範囲を取得
    Set a = ActiveSheet.Range("B3:E7")
    
    '最後の列
    a.Columns(a.Columns.Count).Select
    
End Sub

実行してみます。

Rangeで取得したセル範囲の、最後の列を選択した結果

最後の列を選択することができました。

おわりに

この記事では、Rangeで取得したセル範囲から、各値を取得する方法についてご紹介しました。

Rangeでよく使われるのは、

行数、列数の取得

  • 行数
  • 列数

行番号、列番号の取得

  • 最初の行番号
  • 最初の列番号
  • 最終行の行番号
  • 最終列の列番号

値の取得

  • 左上の値
  • 右下の値
  • 右上の値
  • 左下の値

行や列の取得

  • 最初の行
  • 最後の行
  • 最初の列
  • 最後の列

この辺りです。

多いです。でも、これらの値を取得する方法を知っておけば、実務で簡単に、Rangeを使いこなすことができます。

一つずつ、実行してみて、慣れていきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す