【Excel VBA】セルの値を取得する基本コードとやさしい解説

VBA & Excel
スポンサーリンク
スポンサーリンク

はじめに

Excelで作業をしていると、
「このセルの値を取り出して処理に使いたい」
「入力された値を読み取って、次の動作につなげたい」
そんな場面がよくあります。

VBAでは、セルの値を取得する方法がいくつかあり、
目的に合わせて使い分けることで、コードがより読みやすく、扱いやすくなります。

ここでは、セルの値を取得する基本のコードと、そのしくみを解説します。

まずはコードを確認

Dim value As Variant
value = Range("A1").Value

もっともシンプルな書き方です。
A1セルの値を取得して、変数に入れています。

コードのしくみを解説

Range(“A1”).Value で値を取得する

Range(“A1”).Value は、A1セルの値をそのまま返します。

  • 数値
  • 文字列
  • 日付
  • 空白

どんな値でも受け取れるように、変数は Variant型 にしておくと安心です。

Cells(row, column) を使う方法

value = Cells(1, 1).Value   'A1
  • 行番号と列番号で指定する方法
  • ループ処理と相性が良い
  • 列番号は 1=A, 2=B, 3=C…

シートを指定して取得する

value = Worksheets("データ").Range("B2").Value

複数シートを扱う場合は、シート名を明示すると安全です。

あわせて知っておきたいポイント

数値として扱いたい場合

Dim num As Long
num = CLng(Range("A1").Value)

CLng CDbl を使うと、型を明確にできます。

文字列として扱いたい場合

Dim text As String
text = CStr(Range("A1").Value)

文字列処理を行うときに便利です。

空白セルを判定したい場合

If Range("A1").Value = "" Then
'空白のときの処理
End If

空白チェックは実務でよく使います。

セルの値を変数に入れずに直接使うことも可能

MsgBox Range("A1").Value

ちょっとした確認に便利です。

使うときに気をつけたいこと

  • セルの値がエラー値の場合は注意
    #N/A #DIV/0! などは Variant 型で受け取る必要があります。
  • 日付はシリアル値として扱われることがあります
    → 表示形式と実際の値が異なる点に注意。
  • シート名の指定漏れに注意
    → アクティブシートが変わると意図しない値を取得することがあります。

まとめ

  • Range(“A1”).Value でセルの値を取得できる
  • Cells(row, column) はループ処理と相性が良い
  • 数値・文字列・空白など、目的に応じて型を使い分けると安全
  • シート名を明示すると、実務でのトラブルを防げる

セルの値を正しく取得できると、VBAの処理がぐっと扱いやすくなります。


decopon
decopon

セルの値を取得する処理は、VBAの中でも特に基本となる部分です。
小さな一歩ですが、ここを押さえておくと、後の自動化がとてもスムーズになります。

moco
moco

セルの中身をそっと読み取るのは、VBAの得意技。
人は、次の判断に集中できるね。

コメント

タイトルとURLをコピーしました