VBA でワークシートを消去しちゃう |
先にコマンドボタンをつくってしまいましょう。
表示→ツールバー →コントロールツールボックスでコントロールを表示させます。以下の画面はこれがもうセットされています。 コントロールが表示されたら、コマンドボタンをクリックして指定の場所にボタンをつくります。 するとコマンドボタンができます。 こんどはこれを右クリックして、コマンドボタンオブジェクトを選択するとタイトルを編集できます。 消去のタイトルをいれて、これからスタートです。なんでもこんな感じでつくっちゃう コントロールツールボックスの三角形みたいなボタンが引っ込んだ状態で、このボタンをクリックすると・・ VBE(ビジュアルベーシックエディターが表示される)、この部分はCommandButton1_Click()となっていて、CommandButton1をクリックすると・・・という意味で()の中は引数をいれておくようです。なければそのままでいい・・・さぁここからが消去の実行をさせます この中に下記の単独の消去の部分を書き込んでしまいます。 あとはエクセルの表に戻ってコントロールツールボックスの三角形のところをもう一度クリックすると・・・ デザインモードから通常のモードになります。あとはコントロールツールボックスを閉じて コマンドボタン(消去)をクリックすると・・ 消去されてしまうわけです。あとは・・・消去したいところだけの範囲をしていしていくと必要な場所だけが消去できるわけです。 ちなみに日付と数値だけを消したい時は
Sheets("sheet1").Range("a5:u65536").ClearContentsのところの範囲を こうですね・・・ すると結果は
こうなるはずです。好きな場所をそうするとボタンひとつで複雑なところも間違わずに消去できます。
|
Sheets("sheet1").Range("a5:u65536").ClearContents
'これが消去の一番簡単なコマンドのようです。 上記の""の間は好きなシートやセルの値をいれられます。行は65536行目まで、列は256列までが上限です。 'いろんなテキストやネットでしらべたり、マクロでやってみましたが、これが一番シンプルでいい!! |
ここが消去のマクロの部分です
'単独の場合はこれでいいです。 '*ファンクションにしておくとどのワークシートからでも実行できるようにしちゃう Private Sub CommandButton1_Click()
'ここは最終行を取得するファンクション
これが一番単純でいい
|