[はじめに]
・Excel VBAでよくセルの情報を取得することがありますが、
様々な書き方があるので、備忘録に記載します。
セル座標をA1形式や行列番号で指定したり、
複数セルの範囲指定、その他のブックやシート上のセルの取得 など
用途に応じたパターンを適用頂ければと思います。
[ソース]
|
Private Sub WriteToCellValue()
'■■■1.「A1形式」でセルを指定する。
' ①単一セルを扱う。
' ※例:セルA1に値を出力
Range("A1").Value = "あ"
' ②複数セルを扱う(その1)
' ※例:セルA3~A5に値を出力
Range("A3:A5").Value = "い"
' ③複数セルを扱う(その2)
' ※例:セルC1~D10に値を出力
Range(Range("C1"), Range("D10")).Value = "う"
'■■■2.行番号、列番号でセルを指定する。
' 行番号、列番号をカウントアップ等をさせたい場合、有効。
' ※例:セル(1行目、6列目)に値を出力
Cells(1, 6).Value = "え"
'■■■3.特定のセル範囲内から、相対的にセルを取得
' ※例:セルD4(B3~E5内で2行目、3列目)に値を出力
Range("B3:E5").Cells(2, 3).Value = "お"
'■■■4.特定のセル範囲内から、相対的な行を取得
' ※例:B3~E5内の1行目に値を出力
Range("B3:E5").Rows(1).Value = "か"
'■■■5.特定のセル範囲内から、相対的な列を取得
' ※B3~E5内の3列目に値を出力
Range("B3:E5").Columns(3).Value = "き"
'■■■6.他のシートのセルを扱う。
' 指定セルが、他のシートにある場合は、
' 以下のように記載します。
' シート省略時は、アクティブシートが対象になります。
' ※例:シートSheet1のセルA2に値を出力
' 以下例のRangeは上記の1~5の表記でも可能。
Sheets("Sheet1").Range("A2").Value = "く"
'■■■7.他のブックのセルを扱う。
' 指定セルが、他のブック、シートにある場合は、
' 以下のように記載します。
' ブック省略時は、アクティブブックが対象になります。
' ※例:当ブックのシートSheet1のセルA3に値を出力
' 以下例のRangeは上記の1~5の表記でも可能。
ThisWorkbook.Sheets("Sheet1").Range("A3").Value = "け"
End Sub
| |
[VBA]セルの選択 |