• ベストアンサー

エクセルで入力した内容の消去方法

エクセルで、VBAを使用し、シート1に顧客情報(氏名、年齢、番号等)を入力し、ボタンを押すことでシート2にその内容を反映させるプログラムを作成しました。 ところが、入力後前のデータが残ってしまい、いちいちそのデータを消去しなくてはならず、困っています。 何か入力項目のみを一括して消去できるような方法はありますでしょうか? 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

Range("A1,B3,C5").ClearContents ClearContents メソッド では?

yutax56
質問者

お礼

できました! ありがとうございました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

sheet2にテンプレー的シートを作る。入力欄は空白のもの。 それを毎回貼り付ける。 ーーー Sheet2のB3:D21に(書式(罫線、セルパターン色)も設定している) 入力表 氏名 住所 年齢 計数1 計数2 ーー Sheet1にコマンドボタンを1つ作る。 そのボタンのクリックイベントに Public k As Integer Private Sub CommandButton1_Click() k = k + 1 Worksheets("Sheet4").Cells(k, "A") = Worksheets("sheet1").Range("C5") Worksheets("Sheet4").Cells(k, "B") = Worksheets("sheet1").Range("C7") Worksheets("Sheet4").Cells(k, "C") = Worksheets("sheet1").Range("C9") Worksheets("Sheet4").Cells(k, "D") = Worksheets("sheet1").Range("C11") Worksheets("Sheet4").Cells(k, "E") = Worksheets("sheet1").Range("C13") '--- Worksheets("Sheet2").Range("B3:D21").Copy Worksheets("sheet1").Range("B3").Activate ActiveSheet.Paste End Sub ーー Sheet1のC5,C7,C9,C11,C13 にデータを入れてコマンドボタンをクリック。 データがSheet4に移り,Sheet1は入力欄は前のデータはない。 ーー Sheet4の実例 宮田 千葉市      45 12 34 木村 さいたま市 23 13 43 鈴木 横浜市      43 23 25

yutax56
質問者

お礼

ありがとうございます! こちらも試してみます!

  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

Sheets("シート1").Activate Range("A1,B2,C3,F1:F4").ClearComments のような方法があります。

yutax56
質問者

補足

ご回答ありがとうございます! 取り入れてみたのですが、消去できませんでした。 シートの名前を変えると、実行後別シートに飛ぶため作動はしているようなのですが、消去にはつながりませんでした。

関連するQ&A