【Excel VBAの基本 Part6】オブジェクトに動作や処理を命令するメソッドを学ぼう

プログラミング

実習用データのダウンロード


オブジェクトに対して命令するメソッド

VBAのメソッドとは

ワークブック、シート、セル、グラフなどの「オブジェクト」に対して、コピー、削除、選択、保存といった具体的な動作・命令を実行させる機能のことを指します。
オブジェクト(「何に対して」)とメソッド(「どうする」)を組み合わせることで、Excel操作の自動化が可能になります。
プロパティは状態や情報(色、値)を指し、メソッドは具体的な処理(動作)を指します。


代表的なメソッドと書き方

代表的なメソッドとして、セルや範囲を選択する「Select」や、セルやシートをコピー・貼り付けする「Copy」、セルの書式や内容を削除する「Clear」などがあります。

メソッドの書式
オブジェクト.メソッド

セルや範囲の選択をするSelectメソッド

Excelを使用しているときにセルをクリックすると、そのセルが選択された状態になります。
VBAでこれを行うためには、RangeオブジェクトのSelectメソッドを使用します。

Selectメソッドの書き方
Rangeオブジェクト.Select
セルA1を選択する
Range("A1").Select
セルA1~B2を選択する
Range("A1:B2").Select

実習問題1

問題1

「書籍名」という文字列が入力されているセルB3を選択して下さい。


実習問題1の解答

Sub VBA_part6_001()
    'この下から記述しましょう
    Range("B3").Select
    
End Sub

実習問題1の解説

解説

Rangeの場合はB3を指定し、Cellsの場合は「Cells(3, 2)」と記述します。


実習問題2

問題2

セルB3~F13を選択して下さい。


実習問題2の解答

Sub VBA_part6_002()
    'この下から記述しましょう
    Range("B3:F13").Select
    
End Sub

実習問題2の解説

解説

Rangeを使って引数で範囲を指定します。
単一のセルしか指定できないCellsでは選択することができません。


消去を行うメソッド「Clear」「ClearContents」

Clearメソッド

VBAの「Clear」メソッドは、指定したセル範囲の値・数式・書式(色、罫線、入力規則など)、コメントをすべて削除し、真っ白な初期状態に戻すメソッドです。

ClearContentsメソッド

VBAの「ClearContents」メソッドは、指定したセル範囲の値と数式のみを削除し、罫線や背景色などの書式を残すメソッドです。

セルA1の値や書式などを完全消去する
Range("A1").Clear
セルA1の値や書式削除する
Range("A1").ClearContents

実習問題3

問題3

セルB1からC1の範囲の値や数式、書式を完全に削除して下さい。


実習問題3の解答

Sub VBA_part6_003()
    'この下から記述しましょう
    Range("B1:C1").Clear
    
End Sub

実習問題3の解説

解説

Clearメソッドによって、B1~C1に入力されている値、罫線が全部消去されます。


実習問題4

問題4

セルI3からM13の値のみ削除して下さい。
罫線は残すようにして下さい。


実習問題4の解答

Sub VBA_part6_004()
    'この下から記述しましょう
    Range("I3:M13").ClearContents
    
End Sub

実習問題4の解説

解説

ClearContentsメソッドで、I3~M13に入力されている値のみが消去されます。
値のみの削除のため、罫線はそのまま残ります。


セルや範囲の内容をコピーする「Copy」メソッド

VBAのCopyメソッドは、Excelでセル・範囲・行・列、またはシートを別の場所にコピーする際に使用するメソッドです。

Copyメソッドの書式
Rangeオブジェクト.Copy 貼り付ける場所
Sub test_001()
    Range("B2").Copy Range("B6")
    
End Sub

セルの範囲をコピーして貼り付けを行う場合、貼り付け先は「単一のセル」で問題ありません。

セルB2からC2の値をコピーしてセルG2から貼り付ける
Sub test_002()
    Range("B2:C2").Copy Range("G2")
    
End Sub

貼り付け先は「“G2”」と単一のセルで貼り付けられます。
G2「から」貼り付けるという意味になります。
貼り付け先を「“G2:H2”」と指定しても、同じ結果になります。


実習問題5

問題5

セルB3からF13の範囲の値をコピーして、セルI3からM13に貼り付けて下さい。


実習問題5の解答

Sub VBA_part6_005()
    'この下から記述しましょう
    Range("B3:F13").Copy Range("I3")
    
End Sub

実習問題5の解説

解説

コピー元をRangeオブジェクトで範囲指定(“B3:F13”)し、貼り付け先は「“I3”」のみ単一セルを指定すれば貼り付けられます。
貼り付け先を「“I3:M13”」と指定しても同様に貼り付けられます。


実習解答データのダウンロード


タイトルとURLをコピーしました