Excel VBA 値の入力と取得はRange、Cellsプロパティを使うだけ!

Excel VBAで演算などをした結果をセルに出力したり、セルの値を取得して演算したりという操作はかなりの頻度で使うのではないでしょうか。

今回は、Valueプロパティを使ってセルに値を入力する方法、セルの値を取得する方法についてご紹介します。

記事の内容
  • 指定したセルに値を入力する
  • 指定したセルの値を取得する

セルに値を入力する方法

セルに値を入力する方法は、2通りあります。

  • 「Range」を使う
  • 「Cells」を使う

Rangeを使う場合

以下のように記載します。
 Range(“セル位置”)

実際にコードを入力して確認していきましょう。

コード

Sub test()
    Range("A1").Value = "文字列"   'Cells(1, 1)に「文字列」を入力
    Range("B1").Value = 123        'Cells(1, 2)に「123」を入力
    Range("C1").Value = Now        'Cells(1, 3)に現在の時刻を入力
End Sub

Cellsを使う場合

以下のように記載します。
 Cells(行数, 列数)

実際にコードを入力して確認していきましょう。

コード

Sub test()
    Cells(1, 1).Value = "文字列"   'Cells(1, 1)に「文字列」を入力
    Cells(1, 2).Value = 123        'Cells(1, 2)に「123」を入力
    Cells(1, 3).Value = Now        'Cells(1, 3)に現在の時刻を入力
End Sub


参考
Range.Cells プロパティ (Excel)Microsoft

セルの値を取得する方法

セルの値を取得する方法は、セルに値を入力する方法と同様に2通りの方法があります。

  • 「Range」を使う
  • 「Cells」を使う

今回は、セルの値を取得しメッセージボックスに出力する方法をご紹介します。

Rangeを使う場合

以下のように記載します。
 Range(“セル位置”)

実際にコードを入力して確認していきましょう。

コード

Sub test()
    MsgBox Range("A1").Value    'Cells(1, 1)の値がメッセージボックスに表示される
    MsgBox Range("B1").Value    'Cells(1, 2)の値が「123」がメッセージボックスに表示される
    MsgBox Range("C1").Value    'Cells(1, 3)の値がメッセージボックスに表示される
End Sub

MsgBoxの使い方は、以下をご参照ください。
Excel VBA MsgBoxの使い方(基礎〜応用まで徹底解説)

Cellsを使う場合

以下のように記載します。
 Cells(行数, 列数)

実際にコードを入力して確認していきましょう。

コード

Sub test()
    MsgBox Cells(1, 1).Value    'Cells(1, 1)の値がメッセージボックスに表示される
    MsgBox Cells(1, 2).Value    'Cells(1, 2)の値が「123」がメッセージボックスに表示される
    MsgBox Cells(1, 3).Value    'Cells(1, 3)の値がメッセージボックスに表示される
End Sub


参考
Range.Cells プロパティ (Excel)Microsoft

RangeとCellsの使い分け

ここまでコードを見てきて、RangeとCellsってどう使い分けたらいいのと思った方がいらっしゃるのではないでしょうか?
簡単に言うと・・・
 変数を使わない:Range
 変数を使う:Cells

正直あまり難しいことを考えてもしょうがないので、これだけ覚えておけば大丈夫です。

詳しく知りたいという方は、以下のサイトがおすすめです。


参考
RangeとCellsの使い分けについてすごい改善

まとめ

今回は、以下の2つについてご紹介しました。

  • 指定したセルに値を入力する
  •  →Range、Cellsのいずれかの方法を使う

  • 指定したセルの値を取得する
  •  →Range、Cellsのいずれかの方法を使う

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です