第1講 始めようVBA!

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

では次に消去ボタンを作ってみましょう。
03
まず、デザインモードボタンを押して下さい。
そして、実行ボタンをクリックすると18と編集モードに戻ります。
(デザインモードをクリックすることによって、
編集モードとプログラム実行モードが切り替わることを覚えて下さい。)

実行ボタンのところで右クリックして、
09コピーを選びます。
そして、適当なところで貼り付けると、
04
となります。
再び右クリックしてプロパティのCaptionの右側の実行を消して
06消去と入力しますと、
12となります。

消去ボタンが出来たら、消去ボタンをダブルクリックします。
すると自動的にVisual Basicに切り替わり
98
Pribate Sub Comman2_Clickができあがります。
Tabキーを押して次のようにコーティングします。
Private Sub CommandButton2_Click()
  Cells(5, 1).Select
  Selection.ClearContents
End Sub
もう一度デザインモードボタンを押してから
Alt+F11でエクセルに戻り、
消去ボタンを押すと
とA5の『VBAの世界にようこそ!』が消えます。
35
実行と消去を交互に押して、それぞれのボタンの機能を確認しましょう。
実行でコメントが出て、消去で消されています。
さらに、次のコードを加えましょう。
Private Sub CommandButton2_Click()
  Cells(5, 1).Select
  Selection.ClearContents
  Cells(1, 1).Select
End Sub
今度は消去ボタンを押すと
14
A5の内容が消えて、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で右クリックすると、
(以後、画像はexcel 2013 2010 2007入門講義から借用
ですから、2016と若干違いますが基本的には同じです。)

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


eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門
数独のシンプルな解き方・簡単な解法の研究
vc++講義へ
excel 2013 2010 2007 vba入門へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
専門用語なしの C言語 C++ 入門(Visual C++ 2010で学ぶ C言語 C++ 入門)
専門用語なしの excel vba マクロ 入門 2013 2010 2007 対応講義 第1部
eclipse java 入門へ
excel 2016 vba 入門へ第2部へ
小学生からエンジニアまでのRuby入門へ
小学生からエンジニアまでのC言語入門 基礎から応用まで
本サイトトップへ