01-VBA

ExcelVBAのCellsプロパティ | 現役エンジニア&プログラミングスクール講師

目標

ExcelVBAのCellsプロパティを理解して操作できる

ExcelVBAではプロパティを知るとかなり多くの処理を自動で行わせることができます。加えて、VBAのプログラミング学習では変数や制御構造を学ぶ前にいろいろな設定を経験すると制御構造や様々なデータ構造の学習に入ったときに、オブジェクトやプロパティについて悩まなくてもよくなるので学習効率が良くなります。

ExcelVBAでよく使う「9つのプロパティ」

プロパティ(アルファベット順)
ActiveSheet
ActiveCell
Cells ※今回の記事で扱うプロパティです。
End
Offset
Range
Sheets
Value
Worksheets

Cellsプロパティの概要と利用方法

Cellsプロパティとは

Cellsプロパティはワークシートオブジェクトの持つプロパティで、セル(Rangeオブジェクト)を指定することができます。

Cellsプロパティの利用方法

Cellsプロパティは行番号と列番号を指定することでセル(Rangeオブジェクト)を指定します。

記述方法:Cells(行番号, 列番号)

セルA1の座標を(1,1)として、下に移動するほど行番号が増え、

右に移動するほど列番号が増えます。

よくあるCellsプロパティの利用パターン

一覧表などで、1行分のレコードを入力する時に、よく使われます。

1行分なので行番号に変化はありません。

こういった場合は行番号部分を変数にしておくと便利です。今回はLNへ直接「11」を代入していますが、例えば、今後、ユーザーフォームで入力を行うなどの設定をする場合は、LN部分を自動的に1つずつ増やす処理を行わせることも可能です。

‘###### LN LineNumberの略 #####
Dim LN As Integer
LN = 11

Cells(LN, 2).Value = “28”
Cells(LN, 3).Value = “ガス代”
Cells(LN, 4).NumberFormatLocal = “\##,###”
Cells(LN, 4).Value = “”
Cells(LN, 5).NumberFormatLocal = “\##,###”
Cells(LN, 5).Value = “4567”
Cells(LN, 6).FormulaR1C1 = “=R[-1]C + RC[-2] – RC[-1]”

NumberFormatLocal = “\##,###” 

.NumberFormatLocal = “\##,###” のように記述をすることで、セル内の表示形式を通貨にすることができます。数値を入力する前に設定すれば、その後で入力した数値は日本円の表示形式となります。

以下はそれぞれ二行ずつが1つのセットとなります。

Cells(LN, 4).NumberFormatLocal = “\##,###”
Cells(LN, 4).Value = “”

Cells(LN, 5).NumberFormatLocal = “\##,###”
Cells(LN, 5).Value = “4567”

FormulaR1C1プロパティ

FormulaR1C1プロパティをとりつけたセルはRCで指定する座標の起点となります。今回の場合は、

Dim LN As Integer
LN = 11

Cells(LN, 6).FormulaR1C1 = “=R[-1]C + RC[-2] – RC[-1]”

なのでCells(11, 6)が起点となります。(※セルF11)

このF11を起点にして

R[上下移動分]C[左右移動分]を移動します。

“=R[-1]C + RC[-2] – RC[-1]” つまり、この部分は

R[-1]C …起点F11から上に1つ移動、左右移動無し(※セルF10)

RC[-2]…起点F11から、上下移動無し、左に2つ移動(※セルD11)

RC[-1]…起点F11から、上下移動無し、左に1つ移動(※セルF11)

これらの計算となります。

各オブジェクトには持ち物(プロパティ)がある

サンプルプロシージャ

Option Explicit

Sub practiceCls()

    Worksheets("Sheet4").Select
    
    '###### LN LineNumberの略 #####
    Dim LN As Integer
    LN = 11
    
    Cells(LN, 2).Value = "28"
    Cells(LN, 3).Value = "ガス代"
    Cells(LN, 4).NumberFormatLocal = "\##,###"
    Cells(LN, 4).Value = ""
    Cells(LN, 5).NumberFormatLocal = "\##,###"
    Cells(LN, 5).Value = "4567"
    Cells(LN, 6).FormulaR1C1 = "=R[-1]C + RC[-2] - RC[-1]"
    
End Sub

実行してみる

11行目にレコードが追加されました。今回は以上です。

初心者も実践で通用!「VBA・VBS」おすすめ書籍5選 | 現役エンジニア&プログラミングスクール講師「VBA・VBS」初心者の方が実践業務の中でそれらを活用しt活躍できるために必要な知識を習得できる書籍を紹介しています。ページの下部には「おすすめのITスクール情報」「おすすめ求人サイト」について情報を掲載中。...

ブックマークのすすめ

「ほわほわぶろぐ」を常に検索するのが面倒だという方はブックマークをお勧めします。ブックマークの設定は別記事にて掲載しています。

「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】「お気に入り」の登録・削除方法【Google Chrome / Microsoft Edge】について解説している記事です。削除方法も掲載しています。...
【パソコン選び】失敗しないための重要ポイント | 現役エンジニア&プログラミングスクール講師【パソコン選び】失敗しないための重要ポイントについての記事です。パソコンのタイプと購入時に検討すべき点・家電量販店で見かけるCPUの見方・購入者が必要とするメモリ容量・HDDとSSDについて・ディスプレイの種類・バッテリーの持ち時間や保証・Officeソフト・ウィルス対策ソフトについて書いています。...
RELATED POST
01-VBA

Excel VBA の「デバッグ」(Part.1)「自動構文チェック機能」「VBAProjectのコンパイル」「プロシージャ実行時エラー」| 現役エンジニア&プログラミングスクール講師

2022年12月14日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
01-VBA

Excel VBA の「オブジェクト活用」(Part.1)【ワークシートと行列の活用編】| 現役エンジニア&プログラミングスクール講師

2022年12月14日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
01-VBA

ダイアログボックス|Excel VBA (Part.1)【MsgBox】基本文法編 | 現役エンジニア&プログラミングスクール講師

2022年12月2日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
01-VBA

Excel VBA の「コメント」と「一括コメント」| 現役エンジニア&プログラミングスクール講師

2022年12月12日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
01-VBA

ExcelVBAのEndプロパティ(1)| 現役エンジニア&プログラミングスクール講師

2022年8月20日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site
01-VBA

演算子|Excel VBA (Part.4)【比較演算子】条件の発展的な利用(後編)

2022年10月28日
プログラミング学習 おすすめ書籍情報発信 パソコン初心者 エンジニア希望者 新人エンジニア IT業界への就職・転職希望者 サポートサイト Programming learning Recommended schools Recommended books Information dissemination Computer beginners Prospective engineers New engineers Prospective job seekers in the IT industry Support site