Excel

【Excel】VBAマクロでセルの値を取得し変数に入れる(シート指定やループで空白になるまで・最終行まで)【Cells, Range, Loop】

当サイトでは記事内に広告を含みます
いつも記事を読んでいただきありがとうございます!!! これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/

この記事では、ExcelのVBAマクロを使ってセルの値を取得し、変数や配列に入れる方法について解説していきます。

ポイントとしては、☆Cells関数☆、☆Range関数☆、☆Loop文☆を使用することです。

なお、下記の解説では完全な初心者でもわかりやすいようにあえて変数名(あなた自身が名付けていい場所)を少々変わった名称にしております。

そのため、あなた自身がご活用の際には、ここを適切な(英語表記でしっくりくるものが一般的)ものに変更してご活用くださいね。

それでは詳しく見ていきましょう!

VBAマクロでセルの値を取得し変数に入れる方法【Cells】

それではまず、VBAマクロでセルの値を取得し変数に入れる方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub HensuNiAtsumeru()
    Dim sheet As Worksheet
    Dim no1 As Range
    Dim hensuu As Variant

    ' ワークシートを指定
    Set sheet = ThisWorkbook.Worksheets("Sheet1")

    ' シート内のA1セルの値を取得
    Set no1 = sheet.Cells(1, 1)
    
    ' 取得した値を変数に格納
    hensuu = no1.Value

    ' 結果をメッセージボックスで表示
    MsgBox hensuu
End Sub

コードのAlt+F8を押し、マクロ選択画面でHensuNiAtsumeru関数を実行します。

このマクロは、”Sheet1″のA1セルの値を取得し、それを変数hensuuに格納し、その結果をメッセージボックスで表示します。

 VBAマクロでセルの値を取得しループで空白になるまで【Loop】

続いては、VBAマクロでセルの値を取得し、ループで空白になるまでの方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub LoopDeKaiwa()
    Dim sheet As Worksheet
    Dim gyousuu As Long
    Dim hensuu As Variant

    ' ワークシートを指定
    Set sheet = ThisWorkbook.Worksheets("Sheet1")

    gyousuu = 1
    Do Until sheet.Cells(gyousuu, 1).Value = ""
        hensuu = sheet.Cells(gyousuu, 1).Value
        ' 結果をメッセージボックスで表示
        MsgBox hensuu
        gyousuu = gyousuu + 1
    Loop
End Sub

コードのAlt+F8を押し、マクロ選択画面でLoopDeKaiwa関数を実行します。

このマクロは、”Sheet1″のA列のセルの値を取得し、空白セルが出現するまでループでその値をメッセージボックスで表示します。

VBAマクロでセルの値を取得し配列に格納する方法【Array】

最後に、VBAマクロでセルの値を取得し、配列に格納する方法について解説していきます。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。


Sub ArrayNiKakunou()
    Dim sheet As Worksheet
    Dim gyousuu As Long
    Dim hensuutachi() As Variant
    Dim i As Long

    ' ワークシートを指定
    Set sheet = ThisWorkbook.Worksheets("Sheet1")
    gyousuu = sheet.Cells(Rows.Count, 1).End(xlUp).Row
    ReDim hensuutachi(1 To gyousuu)

    For i = 1 To gyousuu
        hensuutachi(i) = sheet.Cells(i, 1).Value
    Next i

    ' 配列の内容をメッセージボックスで表示
    For i = 1 To gyousuu
        MsgBox hensuutachi(i)
    Next i
End Sub

コードのAlt+F8を押し、マクロ選択画面でArrayNiKakunou関数を実行します。

このマクロは、”Sheet1″のA列のセルの値を取得し、それを配列hensuutachiに格納し、その結果をメッセージボックスで表示します。

まとめ

以上で、ExcelのVBAマクロを用いて、セルの値を取得し変数や配列に格納する方法の基本を解説しました。これらの方法を組み合わせることで、さまざまな自動化作業を行うことができます。