TOP > カテゴリ > Excel >

セルの値/計算式を設定する [ExcelのVBA]

セルの値を設定する

セルの値を設定するにはRangeオブジェクトまたはCellsオブジェクトを使用します。Rangeは「A1形式」でセルを指定します。一方、Cellsは「行番号,列番号」で指定します。

Private Sub CommandButton1_Click()
 ' 個別に設定する
 Range("A2").Value = "みかん"
 Cells(3, 2).Value = "りんご"
 
 ' 複数セルの設定
 Range("A4,C4").Value = 6
 ' 範囲の設定
 Range("C1:C3").Value = 7
End Sub

[結果]

ここで紹介しているRangeとCellsは

Application.ActiveSheet.Range("A2").Value = "みかん"
Application.ActiveSheet.Cells(3, 2).Value = "りんご"

と同じ意味でアクティブなシートに対してセルの値を設定しています。

セルの計算式を設定する

セルにSUM関数などの計算式を設定するにはFormulaまたはFormulaR1C1プロパティを使用します。

Private Sub CommandButton1_Click()
 ' 計算用の値を設定
 Range("C1").Value = 1
 Range("C2").Value = 2
 Range("C3").Value = 3
 
 ' 計算式(A1形式)
 Range("A2").Formula = "=SUM(C1:C3)"
 ' 計算式(行列形式)
 Cells(2, 2).Formula = "=SUM(C1:C3)"
 ' 計算式(R1C1形式)
 ' ※「=SUM(C1:C3)」と同じ意味でB3を基点としています
 Range("B3").FormulaR1C1 = "=SUM(R[-2]C[1]:R[0]C[1])"
End Sub

[結果]

セルの参照方法の一覧

Private Sub CommandButton1_Click()
 ' アクティブなワークブックからシート番号を指定してセル参照
 ActiveWorkbook.Sheets(1).Range("A1").Value = "いろは"
 ' アクティブなワークブックからシート名を指定してセル参照
 ActiveWorkbook.Sheets("Sheet1").Range("A2").Value = 1
 
 ' アクティブなワークシートからのセル参照
 ActiveSheet.Range("A3").Value = 2
 
 ' (A4のセルを選択)
 Range("A4").Select
 ' アクティブなセル参照
 ActiveCell.Value = 3

 ' ワークシート名からセル参照
 Sheet1.Range("A5").Value = 4   
 ' ワークシート名からセル参照
 Worksheets("Sheet1").Range("A6").Value = 5
 ' ワークブック名とワークシート番号からセル参照
 Workbooks("Book1.xlsm").Worksheets(1).Range("A7").Value = 6
 ' ワークブック番号とワークシート番号からセル参照
 Workbooks(1).Worksheets(1).Range("A8").Value = 7
End Sub

[結果]

ワークブック/シートをアクティブにする

Private Sub CommandButton1_Click()
 ' ワークシート名を指定してアクティブにする
 Worksheets("Sheet1").Activate
 ' ワークシート番号を指定してアクティブにする
 Worksheets(1).Activate
 
 ' ワークブック名を指定してアクティブにする
 Workbooks("Book1.xlsm").Activate
 ' ワークブック番号を指定してアクティブにする
 Workbooks(1).Activate
End Sub

行列のサイズを変更する

Private Sub CommandButton1_Click()
 ' セルの行列のサイズを変更する
 Range("B1").RowHeight = 30
 Range("B1").ColumnWidth = 50
 
 ' 全ての行列を標準サイズにする
 'Rows.RowHeight = Worksheets("Sheet1").StandardHeight
 'Columns.ColumnWidth = Worksheets("Sheet1").StandardWidth
 
 ' 個別に行列を標準のサイズに戻す
 'Range("B1").RowHeight = Worksheets("Sheet1").StandardHeight
 'Range("B1").ColumnWidth = Worksheets("Sheet1").StandardWidth
End Sub

最終行/最終列を取得する

入力されている最終行と最終列の取得方法です。

Private Sub CommandButton1_Click()
 Debug.Print "最終行は" & _
             Worksheets("Sheet1").UsedRange.Rows.Count & "行です。"
 Debug.Print "最終列は" & _ 
             Worksheets("Sheet1").UsedRange.Columns.Count & "列です。"
End Sub

VBAの固有操作

[セルの操作]
セルの値/計算式を設定する
セルのフォントを設定する
セルの背景色/網掛けを設定する
セルの文字配置を設定する
セルの表示形式を設定する
セルに罫線を設定する
セルの選択/コピー/貼り付け/切り取り/削除/クリア
セルの結合/結合の解除をする
セルにコメントを追加/削除する
シートの保護とセルのロック解除をする
セルの値をソートする

[テーブル/グラフ/ピボットテーブル]
テーブルの作成/操作
グラフの作成/操作
ピボットテーブルの作成/操作

[ワークシート]
シートの追加/移動/コピー/削除/表示/印刷
ワークシートのイベント

[ワークブック]
ブックを開く/追加/上書き/名前保存/PDFの作成
ワークブックのイベント

[その他]
その他の操作まとめ

エクセル講座のクイックリンク

ホーム 新機能 基本(初級) 基本(中級) 基本(上級) 関数 マクロ VBA TIPS





関連記事



公開日:2015年07月15日 最終更新日:2015年07月23日
記事NO:01202