指定したセルの値の削除
エクセルで指定した欄のみを削除するプログラムを作成しましょう。
削除する行数が決まっている場合、前々回に説明したFor ~ Nextステートメントを使うとわかりやすくできます。
全体の流れを簡単に表すと
①マクロを開始して、変数の設定を行う。(変数名をつけて変数の型を選択)
②セルのどこからどこまでに繰り返し処理を行うか決める。(For ~ Nextを使います。)
③変数の値に対応した位置にあるセルを削除する。
④For ~ Nextを終了する。
上の図の合計欄(C2~C6)の値を削除します。
マクロを実行するとセルC2~C6の値が削除されました。
全体の流れはこのようになります。では1つずつ作りながら説明していきます。
変数を定義する
VBEを起動しプログラムを入力していきます。
「sub 合計値クリア」と入力し、マクロを開始します。
①変数の定義
Sub 合計値クリア( )
dim
End Sub
*解説
Sub 合計値クリアの下にインデントを設定します。Tabキーを押しましょう。
Dimと入力してその後に半角スペースを入力します。Dimステートメントでは変数名とデータの形を明示するので、この続きには[ 変数名 ] As [ 形 ] を続けて書くことになります。
②変数名と変数の型を入力
Sub 合計値クリア( )
dim セル番号 as integer
End Sub
*解説
dimの後に 「セル番号 as integer」と入力
変数 [セル番号] を整数型に定義します。
③For ~ Nextステートメント入力
Sub 合計値クリア( )
Dim セル番号 As Integer
For セル番号 = 2 To 6 ← 2から6行目まで削除するので「2 To 6」
End Sub
*解説
改行をして「For セル番号 = 2 To 6」と入力
変数「セル番号」の値の2から6まで同じ処理を繰り返します。
④セルの設定
Sub 合計値クリア( )
Dim セル番号 As Integer
For セル番号 = 2 To 6
cells(セル番号,3).clearcontents
End Sub
*解説
インデントを設定し、cellsと入力する。
変数名と列の番号を( )内に入力する。間は「 , 」で区切る。
(列番号はAから1 Bは2 Cは3・・・と続く)
最後にclearcontentsと入力する。これは「~の文字と数式を削除する」という意味のソメッドである。
⑤For ~ Nextステートメントを終了
Sub 合計値クリア
Dim セル番号 As Integer
For セル番号 = 2 To 6
Cells(セル番号, 3).Clearcontents
Next セル番号
End Sub
*解説
Next セル番号と入力する。
変数「セル番号」のカウンタを1つ増やして繰り返し処理を行います。
入力が終了したら、End Subの下をクリックします。
⑥作成したマクロを保存・確認・実行
*解説
ファイルのタブからマクロを保存します。
エクセルに切り替え、マクロのダイアログボックスを表示します。
(ツール⇒マクロ⇒マクロ)
「合計値クリア」を選び、マクロを実行します。
マクロの実行結果を確認し、合計の欄C2~C6に入力された値が削除されているかを確認します。