第1講 始めようVBA!

第4話 消去ボタンとそのプログラミング

では次に消去ボタンを作ってみましょう。
u1赤い囲いの挿入をクリックします。
u2ActuveX コントロールのボタンアイコンu3をクリックしてください。
適当な位置でドラッグしてu4
Cation、Font、BackColor、ForeColorなどを使い
u5とします。
やり方を忘れた方は、第2話に戻り確認してください。
消去ボタンが出来たら、消去ボタンをダブルクリックします。
すると自動的にVisual Basicに切り替わり
u6
Pribate Sub Comman2_Clickができあがります。
Tabキーを押して次のようにコーティングします。
Private Sub CommandButton2_Click()
  Cells(5, 1).Select
  Selection.ClearContents
End Sub

そして、カーソルがPribate Sub Comman2_Click()と
End Subの間に来ていることを確認した上で、
u7
ボタンu8を押します。
Alt+F11でエクセルに戻ると、u9となっています。
実行と消去を交互に押して、それぞれのボタンの機能を確認しましょう。
実行でコメントが出て、消去で消されています。
さらに、次のコードを加えましょう。
Private Sub CommandButton2_Click()
  Cells(5, 1).Select
  Selection.ClearContents
  Cells(1, 1).Select
End Sub
今度は消去ボタンを押すと
u10A5の内容が消えて、A1にカーソルが来ています。

コードの意味を説明しましょう。
Cells(5, 1).SelectはセルA5を選びなさいの命令です。
Selection.ClearContentsは選んだものの内容を空にしなさいの命令です。
そして、Cells(1, 1).SelectはA1を選びなさいです。
ですから、A5の内容が消され、最後A1が選択状態になったわけです。
Cells(1, 1).Selectはなくてもよいわけですが、見栄えを変えているだけです。


再び実行と消去を繰り返し押してみましょう。

尚、コーティングは
Private Sub CommandButton2_Click()
  Cells(5, 1).Select
  Selection.Delete
  Cells(1, 1).Select
End Sub
としても現象としては同じになりますが、
実はこちらはA5を削除しています。
それに対して、Selection.ClearContentsはセルの内容のクリアです。
実行ボタンを押して、A5で右クリックすると、
u11サブメニューに
削除と数式と値のクリアがありますが、
どちらを選んでもA5の内容は消えます。
この削除に対応するのがSelection.Deleteであり、
この数式と値のクリアに対応するのがSelection.ClearContentsです。
違いは何かを確認するために、
u12A6に実験とキーボードから入力してください。
そして、
Private Sub CommandButton2_Click()
  Cells(5, 1).Select
  Selection.Delete
  Cells(1, 1).Select
End Sub
の場合と
Private Sub CommandButton2_Click()
  Cells(5, 1).Select
  Selection.ClearContents
  Cells(1, 1).Select
End Sub
の場合で消去ボタンの働きがどのように違うか確認しましょう。
Private Sub CommandButton2_Click()
  Cells(5, 1).Select
  Selection.Delete
  Cells(1, 1).Select
End Sub
の場合は、u13実験が1個上にずれてしまいました。
理由は、A5のセルを削除したからです。
それに対して
Private Sub CommandButton2_Click()
  Cells(5, 1).Select
  Selection.ClearContents
  Cells(1, 1).Select
End Sub

u14実験はずれません。
A5の内容をクリア(空にする)しただけだからです。
ClearContentsの場合は他のセルに対して影響を与えませんが、
Deleteは影響を与えてしまいます。
ですからDeleteを使用する場合は、慎重にやらなければなりません。

では問題です。
プログラムコードを改良して、
実行ボタンを押すとu15となり、
消去押すとu16
となるようにしましょう。


第3話へ 第5話へ

004


New! eclipse c++ 入門
vc++講義へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
専門用語なしの C言語 C++ 入門(Visual C++ 2010で学ぶ C言語 C++ 入門)
専門用語なしの excel vba マクロ 入門 2013 2010 2007 対応講義 第1部
数学研究室に戻る