• ベストアンサー

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

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

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

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

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

yutax56
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答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

  • 「エクセルで差し込み印刷」…助けて下さい。

    エクセルを使い差し込み印刷がしたいのですが、マクロ・VBA初心者のため、ネット等で調べても全く理解できません。 助けてほしいです… 具体的には下記のようなことがしたいんです。 shee1に以下のフォーマットがあります。  氏名  年齢  電話番号 (1) (2) (3) sheet2に以下のデータベースがあります。 氏名  年齢  電話番号 山田  20歳  03… 佐藤  22歳  042…  ・    ・    ・  ・    ・    ・  ・    ・    ・ sheet1にsheet2のデータを反映して、「ボタン」を押せば次の人へ移動する (山田→佐藤)ようにしたいのです。 どういったプログラムを組めばよろしいでしょうか? どうか宜しくお願い致します。 上記だけでは情報不足等あれば、聞いてください。 本当に困ってますので、宜しくお願い致します。

  • セルがある同じ行のリスト番号を反映して印刷する

    エクセル2003を使っています。 (1)顧客リストを作りました。 1.氏名 2.住所 3.電話番号 4.メールアドレス… (2)別シートに、この顧客データを1件につき1枚に印刷する印刷シートを作りました。 (1)にリスト番号を入力すると(2)のシートに反映するようにvlookupで反映できたのですが、「いちいちリスト番号を入力」しなければならず、可能であればリストにデータを入力している段階でリスト番号が反映されそのまま(2)のシートが印刷できるようにしたいのです。 何かいい方法はありませんか? 「セルがある行と同じ行にあるリスト番号を反映させる」という書き方でご理解いただけますか? よろしくお願いします。

  • VBAの検索入力

    FAX送信を簡単にしようと思い。VBAにて まず、シート2に顧客データを入力し シート1で1クリックで選択フォームから選んで、顧客名、FAX番号電話番号等がが出るようにはできたのですが、顧客データが多すぎて、フォームから選ぶのが大変で、検索項目を作り絞り出したやつから選ぶにしたいのですがなかなかうまくいきません。よい方法がありますか?

  • エクセル2003 シート上部で作成した表をしたに反映させたい。

    excel2003で、顧客マスタというものをつくっています。 シート上部ので入力した表のデータをコマンドボタンを作り(決定ボタン)、ボタンを押すと、シート下の方に一覧という形でデータが反映されるように作りたいです。 下の表はどんどん下に追加されていき、上の表は決定ボタンを押すとデータがまた新しく入力できる状態になる・・・というプログラムを作りたいです。EXCEL2003でVBA初心者です。

  • エクセルでデータベース

    最初から「アクセスを使え!!」とお叱りを受けると思いますが、アクセスが無いため、エクセルで何とかしようとたくらんでおります。 本題に入りまして… まず、シート1に顧客リスト(コード、氏名、住所… )と入力してあります。 シート2には顧客毎に請求月日、売上額、値引き等を入力していきます。 シート3には請求月日(毎月5の倍数)を入力します。A列に1月5日、1月10日、1月15日…というように、12月30日まで入力してあります。 ここでデータベースとなる!?わけですが、VBAでフォームをつくり、シート1に入っている氏名から、該当する顧客を選んで、シート2に各項目ごと、データを入力するというものです。シート2に入力する項目の中で、請求年月日はシート3から選ぶようにします。 なお、もしシート1の顧客リストに該当者が無い場合(新規)は、シート1の顧客リストに追加し、追加した後、シート2にデータを入力できるようにしたいです。 ちなみに、顧客数は400件くらいあります。 VBAは超初心者で、命令文などがほとんど理解できないので、勝手でずうずうしいお願いなのですが、説明があると非常にありがたいです。 よくわからない質問をして、なおかつ無謀なことをやろうとしている私に、お力をお貸しくださいm(__)m

  • エクセルで入力用の場所に入力したら、入力内容が人ごとに反映される方法

    入力用のシートを1つ用意して、その表の中の項目を入力したら、内容が他のシートに反映される方法ってありますか? 例えば、社員Aの社員番号が001で、 社員番号を入力したら、その人のシートに 次々に情報が入力されていくっていうことはできるのでしょうか?? すごく分かりにくい質問ですみません。

  • エクセルの再計算

    再計算で処理スピードがかなり遅くなってしまいました。 シート1のA列に顧客番号B列に顧客氏名を入力しています。現在58000名が入力されております。これからも月に100名程度増加していきます。 シート2にシート1を反映させています。 シート2のA列に今日の日付を入力しB列に顧客番号を打ち込むとC列にシート1の氏名が表示されます。 しかし数が多いもので番号を打ち込みエンターキーを押すと再計算が始まり能率が上がりません。 このような状態を回避する方法がありましたなら教えていただきたいのですが。

  • EXCELのデータ入力

    EXCELでマクロをくみたいのですが、 シートが二つあって、 例えば項目が住所 氏名 電話番号 などとあって、 一つ目のシートにデータを入れて 登録ボタンをおすと 二つ目のシートに蓄積されていくマクロを組みたい のですが、二つ目のシートで、次の段を認識させる方法が思い浮かびません。 お詳しい方、お教えいただけないでしょうか。

  • エクセルVBAでテキストボックスに入力があった場合のみ、ワークシートに転記したい

    現在顧客名簿シートがあり、修正フォームから顧客情報を修正できるようにマクロを組んでいる最中です。  例えば、textbox1→氏名、textbox2→生年月日、textbox3→住所、としていて、住所のみ変更情報を入力し修正ボタンをクリックすると氏名、生年月日が未入力のため顧客名簿の氏名、生年月日が消えてしまいます。  このような場合、入力がないtextboxのシート転記プログラムを飛ばす、若しくは入力があるtextboxのみシート転記を実施する方法を教えてください。

  • エクセルのVBA

    お世話になります。 ただ今,VBAで以下のことに挑戦していますが,行き詰ってしまいました。皆様のお知恵をお貸しください。 1.エクセルで,ある図形をクリックすると,インプットボックスが開き,「顧客番号を入力」と出ます。 2.顧客番号を入力すると,「顧客管理」というシートのD1セルにその番号が入力されます。 3.その顧客番号をもとに「顧客名簿」というシートのデータから,その顧客の住所や性別などのデータがvlookupで引っ張ってこられます。 そこでご相談です。上記の2の操作で,顧客番号を入力後,すぐにD1セルに番号が入力されるのではなく, メッセージボックスでの確認画面「○○さんのデータを表示しますか」(○○には顧客番号に該当する顧客名が入ります)というものを表示させ,OKを押せば,D1セルに番号が入力され,キャンセルを押せば,単純に,メッセージボックスが閉じる という機能を追加したいのですが。ちなみに,現在のVBAは以下の通りです。 Dim ans As String ans = InputBox("顧客番号を入力", "入力", "") If ans <> "" Then Sheets("顧客管理").Select Range("D1").Value = ans End If End Sub これの,どこにどのようなプログラムを追加したらいいのでしょうか。 よろしくお願いします。