Excel

【Excel】VBAマクロでセルの値を取得して変数に入れる方法(ループ、シート指定、配列、空白まで)【Range, Cells, For Next, If】

当サイトでは記事内に広告を含みます。

この記事では、VBAマクロでセルの値を取得して変数に入れる方法(ループ、シート指定、配列、空白まで)、について解説していきます。

ポイントとしては、

`Range`,

`Cells`,

`For Next`ループ、

`If`文

を使用することです。

マクロ初心者でもわかりやすいように、変数名を`aaaaa変数aaaaa`といった名称にしています。

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

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

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

それではまず、セルの値を取得して変数に入れる方法について解説していきます。この手法は、特定の列に注目して、2行目から最終行までのデータをループ処理する際に特に有用です。

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


Sub aaaaagetCellValueaaaaa()
    Dim aaaaaworksheetaaaaa As Worksheet
    Set aaaaaworksheetaaaaa = ThisWorkbook.Sheets("Sheet1")
    Dim aaaaalastRowaaaaa As Long
    aaaaalastRowaaaaa = aaaaaworksheetaaaaa.Cells(aaaaaworksheetaaaaa.Rows.Count, "OK").End(xlUp).Row
    Dim aaaaaivariableaaaaa As Variant
    
    For aaaaaiiiiiiiiiiaaaaa = 2 To aaaaalastRowaaaaa
        aaaaaivariableaaaaa = aaaaaworksheetaaaaa.Cells(aaaaaiiiiiiiiiiaaaaa, "OK").Value
        ' ここでaaaaaivariableaaaaaを使用して処理を行います
        Debug.Print aaaaaivariableaaaaa ' コンソールに値を出力
    Next aaaaaiiiiiiiiiiaaaaa
End Sub

 

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

このコードは、特定の列(この場合は”OK”列)に注目し、2行目から最終行までのセルの値を取得し(ループさせて)、それぞれの値をコンソールに出力するコードとなっています!

 

VBAマクロでシート指定でセルの値を取得して変数に入れる方法

続いては、特定のシートを指定してセルの値を取得し、変数に格納する方法について解説していきます。

以下ではSheet2を指定するものになっています。

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


Sub aaaaagetCellValueFromSheetaaaaa()
    Dim aaaaaworksheetaaaaa As Worksheet
    Set aaaaaworksheetaaaaa = ThisWorkbook.Sheets("Sheet2")
    Dim aaaaaivalueaaaaa As Variant
    aaaaaivalueaaaaa = aaaaaworksheetaaaaa.Range("A5").Value
    ' ここでaaaaaivalueaaaaaを使用して処理を行います
    Debug.Print aaaaaivalueaaaaa ' コンソールに値を出力
End Sub

 

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

この方法は、`Sheet2`の`A5`セルの値を取得し、それを変数に格納してさらに処理を行う場合に有用です。

 

まとめ VBAマクロでセルの値を取得して変数に入れる方法(シート指定、配列、空白まで)【Range, Cells, For Next, If】

ここでは、VBAマクロでセルの値を取得して変数に入れる方法(ループ、シート指定、配列、空白まで)【Range, Cells, For Next, If】について確認しました。

マクロをマスターしてさらに快適に過ごしていきましょう(^^)/