【初心者向け】RangeとCellsの違いと使い方を解説!!【Excel VBA】

こんにちは!『ルウちゃんのExcel Labo』管理人の@rouxchanblogです!

今回はこのような悩みについて解説します。

ルウちゃん

RangeやCellsってよく出てくるけどイマイチ違いがわからない!

目次

はじめに

RangeとCellsは非常によく使われます。

そのため本記事では初心者向けに書いていますのでこれを基礎から学んでください!

  • Rangeは名前定義かセル範囲指定をする時に使う
  • cellsは変数を使う時に使う

Rangeとは

rangeはセルを指定する時に使います。

まずは基本的な書き方から見ていきましょう。

Sub 文字入力()
  Range("A1").Value = "こんにちは"
End Sub

このようにA1セルに”こんにちは”を表示させることができます。

たぶんここまでは理解している方が多いのではないでしょうか?

Rangeには他にも名前定義したセルに文字を入力することも可能です。

その前にセルの名前を変更する方法を見ていきましょう!

このようにA1には”A1”という名前がついています。

ここを編集することで簡単にセルの名前を変更することができます。

Sub 文字入力()
  Range("a").Value = "こんにちは"
End Sub

セルの名前を変更できることがわかったところでこのコードを実行してみましょう!

変更した”a”というセルに同じように”こんにちは”を表示させることができましたね。

次はRangeで範囲を指定をしてみましょう!

Sub 文字入力()
  Range("A1:C5").Value = "こんにちは"
End Sub

このように書くことでA1〜C5の15個のセルを指定することが可能です。

Rangeには様々なセルの指定方法があることを覚えておきましょう!

Cellsとは

次はCellsの解説をします。

Cellsも同じくセルを指定する時に使います。

書き方はCells(行番号, 列番号)です。

この時注意して欲しいのはRangeと行と列の指定の順番が逆になることです。

Cellsは慣れるまで違和感があると思いますが、意識的に使って慣れていきましょう。

それではCellsでA1セルを指定する時のコードの書き方を見ていきましょう!

Sub 文字入力()
    Cells(1, 1).Value = "こんにちわ"
End Sub

Rangeと同じようにA1セルに”こんにちは”を表示させることができました。

ここまでの説明だけを聞くとRangeだけでいいやとなってしまいますよね。

ですがCellsには得意とする方法があります。それは変数を使った指定です。

つぎは変数を使ったコードの書き方を見ていきましょう!

変数については下記の記事で詳しく解説していますので参考にしてください!

変数について

Sub 文字入力()
    Dim i As Long
    i = 1
    Cells(i, 1).Value = "こんにちわ"
End Sub

このように変数”i”を定義し、”i”に1を代入して、Cells(1,1)にすることができています。

Cellsには変数を使ってセルの指定をすることができるのです!

Rangeも同じように変数を使うことは可能ですが、処理に時間がかかってしまうというデメリットがあります。

VBAには変数を使ってセルを指定する場面がたくさんあります。

なので基礎的なCellsの使い方を学び、Rangeとの使いわけができるようになることが重要です!

まとめ

  • Rangeは名前定義かセル範囲指定をする時に使う
  • cellsは変数を使う時に使う

今回はRangeとCellsの使い方について解説しました!

わからないことがありましたら気軽にコメント欄に質問してください!

この記事で少しでも皆さんのお役に立てれば幸いです!

ありがとうございました!

【参考書籍】

ランキングに参加しています!

あなたの1クリックがブログ更新の励みになります!

↓ ↓ ↓

にほんブログ村 IT技術ブログへ
にほんブログ村
/// お得な情報 ///

すぐに使えて便利なテクニックが650個も手に入る!

気になる人は今すぐクリック!!

 

コメントはお気軽に!

コメント一覧 (1件)

  • Nice post. I was checking constantly this blog and I am impressed!
    Very useful information specially the last part 🙂 I
    care for such information much. I was seeking this particular information for
    a very long time. Thank you and best of luck.

コメントする


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

目次