セルを参照する(Cells プロパティ)
Cells プロパティ
Cells プロパティは、ワークシートの行番号と列番号を指定してセルを参照します。
戻り値は、セル範囲を表すRange オブジェクトです。
Object.Cells ( row, col )
Object.Cells ( num )
引数・戻り値
- object ・・・ 対象となる Application、 Worksheet、 Range オブジェクト。省略するとアクティブなシートの Range プロパティとみなされます。
- row ・・・ 対象のセルの行番号(整数)を指定します。
- col ・・・ 対象のセルの列番号(整数)を指定します。
- num ・・・ 整数の値(連続したセル範囲の左上のセルを 1 として、右方向へ 2,3,4,5 … と右下のセルまでに割り当てられた数値)を指定します。
引数を省略した場合
Cells.Select のように引数を省略すると選択されているシートのすべてのセルを参照します。
引数に変数を利用する
Cells( i, j ) や Cells( k ) のように引数 row や col や num に変数を指定し、変数をループさせることで、複数のセルにアクセスし値を取得したりスタイルを設定したりすることができます。
Cells プロパティ の使用例
サンプルVBAソース その1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
Sub Sample_Cells() 'セル「A1」 Debug.Print ActiveSheet.Cells(1).Address(False, False) 'セル「B1」 Debug.Print Cells(2).Address(False, False) 'セル「C1」 Debug.Print ActiveWindow.ActiveSheet.Cells(3).Address(False, False) 'セル「B1」行番号を省略(⇒1行目になる) Debug.Print Cells(, 1).Address(False, False) 'セル「A2」(番号は左から右、上から下) Debug.Print Cells(16385).Address(False, False) '範囲を選択 Debug.Print Range(Cells(1), Cells(3)).Address(False, False) 'セル全体を選択 Debug.Print ActiveSheet.Cells.Address(False, False) 'セル全体を選択 Debug.Print Cells.Address(False, False) End Sub |
実行結果 その1
サンプルVBAソース その2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Sub Sample_Cells2() '全教科の総得点と平均点(小数点以下2桁まで表示)を求める(その1) Dim i, j, total, cnt For i = 2 To 11 For j = 2 To 6 total = total + Cells(i, j).Value cnt = cnt + 1 Next j Next i MsgBox "合計得点:" & total & Chr(13) & "平均得点:" & Format(total / cnt, "0.00") End Sub |
実行結果 その2
ワークシート表示
実行後
サンプルVBAソース その3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
Sub Sample_Cells3() '全教科の総得点と平均点(小数点以下2桁まで表示)を求める(その2) Dim i, total, avg, myRange Set myRange = Range("B2:F11") With myRange For i = 1 To .Count total = total + .Cells(i) Next i avg = Format(total / .Count, "0.00") End With MsgBox "合計得点:" & total & Chr(13) & "平均得点:" & avg End Sub |
実行結果 その3
ワークシート表示
実行後
関連記事
-
オートフィルタの設定と解除(AutoFilter メソッド)
AutoFilter メソッド オートフィルタを設定する場合、AutoFilte …
-
行・列の表示・非表示(Hidden プロパティ)
Hidden プロパティ Hidden プロパティに True を設定することで …
-
セルが結合セルの一部である場合、その結合セルの範囲を取得(MergeArea プロパティ)
MergeArea プロパティ MergeArea プロパティは、指定したセルが …
-
セルの値を置換(Replace メソッド)
Replace メソッド 任意のセル範囲内から特定の値を一括して置換します。Fi …
-
オートフィルタ(色で抽出する)AutoFilter メソッド
オートフィルタ(色で抽出する) フォントの色、セルの背景色(条件付き書式による設 …
-
並べ替え(Sort オブジェクト, SortFields コレクション)
Sort オブジェクトによる並べ替え Excel 2007 以降のバージョンでの …
-
セルの幅・高さの自動調整(AutoFit メソッド)
AutoFit メソッド AutoFit メソッドは、指定したセル・セル範囲(R …
-
連続データを入力する(AutoFill メソッド)
AutoFill メソッド Excel で、連続するデータを入力する「オートフィ …
-
オートフィルタ(日付による抽出)AutoFilter メソッド
日付で、抽出する(AutoFilter メソッド) 【書式】 object.Au …
-
セル・セル範囲を貼り付ける(Paste メソッド)
Paste メソッド Paste メソッドは、クリップボードの内容を指定したセル …