セルを参照する(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
ワークシート表示
実行後
関連記事
-
-
別シートのセルを選択(Goto メソッド / PreviousSelections プロパティ)
Goto メソッド 次の例のように、1 行で、Activate メソッド や S …
-
-
オートフィルタ(平均より上・平均より下)AutoFilter メソッド
平均値よりも大きい(小さい)値のレコードを抽出 AutoFilter メソッドで …
-
-
対象のセルを直接参照しているセル全てを取得(DirectDependents プロパティ)
DirectDependents プロパティ DirectDependents …
-
-
セルの特定の要素のみをペーストする(PasteSpecial メソッド)
PasteSpecial メソッド PasteSpecial メソッドは、Cop …
-
-
セル・セル範囲を切り取る(Cut メソッド)
Cut メソッド Cut メソッドは、指定したセル範囲を切り取り、引数に指定した …
-
-
入力規則(リストで制限する)Validation.Add メソッド
ドロップダウンリストで入力値を制限 Validation.Add メソッド(また …
-
-
オートフィルタ(矢印を非表示にする)AutoFilter メソッド
AutoFilter メソッド 【書式】 object.AutoFilter ( …
-
-
指定した条件に一致するセルを取得(SpecialCells メソッド)
SpecialCells メソッド SpecialCells メソッドは、指定し …
-
-
重複するデータを削除(RemoveDuplicates メソッド)
RemoveDuplicates メソッド 指定したセル範囲から重複データを含む …
-
-
オートフィルタの状況を確認(AutoFilterMode, FilterMode)
AutoFilterMode プロパティ AutoFilterMode プロパテ …