• 締切済み

Excel 条件一致の別シートの行にデータを転記

Excel初心者です。教えてください。 アンケートの集計をしているのですが、 単票形式の入力用シートに入っているデータを、隣のシートに転記していきたいと思っています。 入力シートには会社名と担当者、多数の設問があり、その回答は全てチェックボックス形式です。(非表示のセルにチェックボックスのチェック有り無しをリンクさせています) 隣のシートには既に会社名などの一覧があり、そこの社名が一致する行にそのチェックの有り無しの値を転記用ボタンで転記したいと思っています。 ●入力シート A株式会社 担当:佐藤 設問1・・・ チェックあり 設問2・・・ チェックなし 設問3・・・ チェックあり ・ ・ ・ ●転記先シート 社名 設問1 設問2 設問3 A株式会社 TRUE FALSE TRUE B株式会社 C株式会社 マクロでどのようにしたらよいでしょうか。 すみませんが教えてください<(_ _)> よろしくお願いいたします。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

>転記用ボタンで転記したい その通りに動作するマクロをボタンに登録、クリックして実行します。 「具体的なマクロの記載」を教えてほしいときは、「具体的なセル番地」とか「具体的なシート名」とかの目に見えるエクセルの情報を、手抜きせずにご相談に書くようにしてください。 「具体的な」説明の書き方の例: シート名Sheet1のA1セルに会社名を記載している 設問1、2,3のチェックボックスをそれぞれA3、A4、A5セルにリンクしている フォームコントロールのコマンドボタンをシートに配置している (アクティブXコントロールのコマンドボタンではないので間違えない事) 各情報を、シート名Sheet2のA,B,C,D列に順番に転記していく Sheet2は1行目をタイトル行として記入済みで、2行目から順繰り下に記入していきたい。 手順: ALT+F11を押してVBE画面を出す 挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける sub macro1()  dim r as long ’どこに貼り付けたらいいのか調査  r = worksheets("Sheet2").range("A65536").end(xlup).offset(1).row ’転記  worksheets("Sheet2").cells(r, "A").value = worksheets("Sheet1").range("A1").value  worksheets("Sheet2").cells(r, "B").value = worksheets("Sheet1").range("A3").value  worksheets("Sheet2").cells(r, "C").value = worksheets("Sheet1").range("A4").value  worksheets("Sheet2").cells(r, "D").value = worksheets("Sheet1").range("A5").value end sub ファイルメニューから終了してエクセルに戻る シート1のコマンドボタンを右クリック、マクロの登録を開始、macro1を選んで登録する。

tmk0114
質問者

お礼

どうもありがとうございます! とても助かりました!!!

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

データの抽出ですね。 フィルターオプションと云う機能をご存知ですか。 http://www.eurus.dti.ne.jp/~yoneyama/Excel/filter3.htm を参考にしてみてください。 最後に、マクロのコードがあります。 シートモジュールの Changeに組み込めば まるで関数が入っているような感じで抽出できます。

tmk0114
質問者

お礼

どうもありがとうございます! この機能は使ったことがなかったのでやってみます!!!

関連するQ&A