Excelマクロ覚書 ~入力編~
図書館で借りてきた某書籍の覚書です。
- 【セルを選択する】
- 【複数セルを選択する】
- 【セルに文字列を入力する】
- 【セルに数値を入力する】
- 【セルに日付を入力する】
- 【セルに数式を入力する】
- 【すべてのデータを削除する】
- 【書式のみ削除する】
【セルを選択する】
セルを選択するにはRange関数を使う。セル番地は""で区切る。
Range(選択するセル番地).Select
Range("A1").Select 'A1セルを選択する'
セル範囲を指定するには、Selectメソッドを使う。
Rangeオブジェクト.Select
Range("A2:G2").Select 'B2~G2セルを選択する'
セルをアクティブにするには、Activateメソッドを使う
Range(セル名:セル名).Activate
Range("A5").Activate 'A5セルを選択する'
セルを指定するには、Cellsメソッドを使う。セル番地ではないので""は不要。
Cells(行番号:列番号)
Cells(2,3).Select 'B3セルを選択する'
指定したセルから移動する場合
Rangeオブジェクト.Cells(行番号:列番号)
Range("A1").Cells(2,3).Select 'C2セルを選択する'
【複数セルを選択する】
複数セルを選択するには、コロンで区切る
Range(セル名:セル名).Select
Range("A1:H10").Select 'A1~H10セルを選択する'
離れた場所にあるセルを複数選択する場合はカンマ区切り
Range(セル番地 , セル番地 , セル番地)
ex) Range("A2,B5,C10") 'A2、B5、C10セルを選択する'
【セルに文字列を入力する】
セルの値を入力・変更するには、Valueプロパティを使う
Rangeオブジェクト.Value = "文字列"
Range("A1").Value = "私は猫になりたい" 'A1セルの文字列を入力する'
【セルに数値を入力する】
文字列同様に、Valueプロパティを使う。数値なので""は不要
Rangeオブジェクト.Value = 数値
Range("A1").Value = 18782 'A1セルの数値を入力する'
離れたセルを選択することもできる
Range("A1, B5, C10").Value = 18782 'A1、B5、C10セルの数値を入力する'
範囲指定する場合はコロンで区切る
Range("F3:G10").Value = 37564 'F3、G10セルの数値を入力する'
【セルに日付を入力する】
#で囲むことで日付を入力できる。形式は#dd/mm/yyyy#
Rangeオブジェクト.Value = #日付#
Range("A15").Value = #6/30/2019# 'A15セルの日付を入力する'
【セルに数式を入力する】
Formulaプロパティを使う。数式は""で囲む
Rangeオブジェクト.Formula = "数式"
Range("A15").Formula = "=A2*B2" 'A15セルにA2とB2セルを乗算した値を入力する'
【すべてのデータを削除する】
Clearメソッドを使う。キレイさっぱり消える上に後から復元できないので注意!
Rangeオブジェクト.Clear
Range("A1:C10").Clear 'A1~C10セルの値と書式を削除する'
現在選択中のセルを消したい場合は、Selectionプロパティを使う
Selection.Clear '選択中のセルの値と書式を削除する'
【書式のみ削除する】
ClearFormatメソッドを使う。フォーマットをクリアってまんまやんけ!
書式のみなので、もちろん値は消えない
Rangeオブジェクト.ClearFormats
Range("A1:C10").ClearFormats 'A1~C10のセルの書式を削除する'
現在選択中のセルの書式を消したい場合は、Selectionプロパティを使う
Selection.ClearFormats '選択中のセルの書式を削除する'