この記事では、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マクロを用いて、セルの値を取得し変数や配列に格納する方法の基本を解説しました。これらの方法を組み合わせることで、さまざまな自動化作業を行うことができます。