先日もアンケートの結果入力について質問させて頂いたのですが、
アンケートの仕様が変わってしまい、自分で直そうとしたのですがうまくできず、すみませんがまた教えてください。。。
アンケートの結果を集計するため、入力用シートにデータを入力しています。
入力用シートの構造は、上部のヘッダ部分に、担当者、社名、発売日、商品名の4つの情報があり
その下に設問が18問あり、設問の右のセルにチェックボックスがあって、
チェックあり、なしを入力していくようになっています。
チェックボックスの値は非表示のセルにリンクするようにしています。
となりのデータベースシートにその結果を転記していきたいのですが、
データベースシートにはあらかじめ多数の担当者、社名、発売日、商品名の情報が入っていて、
入力シートのヘッダ部分の4項目全てと一致する行に、アンケートの入力結果を転記したいです。
入力シート
担当者名 鈴木
会社名 A株式会社
発売日 11/21
商品名 りんご
設問1 チェックあり
設問2 チェックなし
設問3 チェックあり
…
設問18 チェックあり
データベースシート
担当者名 会社名 発売日 商品名 設問1 設問2 … 設問18
鈴木 B株式会社 10/30 なし
佐藤 C株式会社 12/5 ぶどう
高橋 A株式会社 11/1 いちご
鈴木 A株式会社 11/21 りんご
・・・・・・
上記例ではデータベースシートの上から4行目のところに、設問1~18の結果を横に並べて転記したいです。
また、それとは別に、データベースシートと同じ構造の別ブックに同様にデータを転記していくマクロも知りたいです。(実行時にファイルを開いて、同じように4条件全部一致した行にデータを転記したい)
説明が下手で申し訳ないですが何卒お助け下さい。。
よろしくお願いいたします<(_ _)>
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
えっと。
回答を貰っても,何が気にくわなかったのかプイッと閉じ逃げで去ってしまわれたご相談の,続きのご相談ですね。それと前回も「具体的なマクロが教わりたいときは,なんて名前のシートのドコ番地のセルに何を記入してる」のか手抜きせず判るように情報提供して下さいってお話ししておきましたが,そういう所もスルーのままですね。これで2回お話ししましたから,次の3回目はもう大丈夫ですね?
さて。
「具体的な」説明の書き方の例:
シート名Sheet1のB1からB4セルに担当者名から商品名までを記載している
設問1、2,3…18のチェックボックスをそれぞれA11からA28セルにリンクしている
フォームコントロールのコマンドボタンをシートに配置している
(アクティブXコントロールのコマンドボタンではないので間違えない事)
各情報を、シート名Sheet2のA,B,C,D列を探してE列以右に順番に転記していく
Sheet2は1行目をタイトル行として記入済みで、2行目から記入していく
手順:
ALT+F11を押す
現れた画面で挿入メニューから標準モジュールを挿入する
現れたシートに下記をコピー貼り付ける
sub macro2()
dim r as long
dim LastRow as long
lastrow = worksheets("Sheet2").range("A65536").end(xlup).row
for r = 1 to lastrow
if worksheets("Sheet1").range("B1") = worksheets("Sheet2").cells(r, "A") _
and worksheets("Sheet1").range("B2") = worksheets("Sheet2").cells(r, "B") _
and worksheets("Sheet1").range("B3") = worksheets("Sheet2").cells(r, "C") _
and worksheets("Sheet1").range("B4") = worksheets("Sheet2").cells(r, "D") then
exit for
end if
next r
if r > lastrow then
’リストに該当が無かった場合
worksheets("Sheet2").cells(r, "A") = worksheets("Sheet1").range("B1")
worksheets("Sheet2").cells(r, "B") = worksheets("Sheet1").range("B2")
worksheets("Sheet2").cells(r, "C") = worksheets("Sheet1").range("B3")
worksheets("Sheet2").cells(r, "D") = worksheets("Sheet1").range("B4")
end if
’転記
worksheets("Sheet2").cells(r, "E") = worksheets("Sheet1").range("A11").value
worksheets("Sheet2").cells(r, "F") = worksheets("Sheet1").range("A12").value
worksheets("Sheet2").cells(r, "G") = worksheets("Sheet1").range("A13").value
worksheets("Sheet2").cells(r, "H") = worksheets("Sheet1").range("A14").value
worksheets("Sheet2").cells(r, "I") = worksheets("Sheet1").range("A15").value
worksheets("Sheet2").cells(r, "J") = worksheets("Sheet1").range("A16").value
worksheets("Sheet2").cells(r, "K") = worksheets("Sheet1").range("A17").value
worksheets("Sheet2").cells(r, "L") = worksheets("Sheet1").range("A18").value
worksheets("Sheet2").cells(r, "M") = worksheets("Sheet1").range("A19").value
worksheets("Sheet2").cells(r, "N") = worksheets("Sheet1").range("A20").value
worksheets("Sheet2").cells(r, "O") = worksheets("Sheet1").range("A21").value
worksheets("Sheet2").cells(r, "P") = worksheets("Sheet1").range("A22").value
worksheets("Sheet2").cells(r, "Q") = worksheets("Sheet1").range("A23").value
worksheets("Sheet2").cells(r, "R") = worksheets("Sheet1").range("A24").value
worksheets("Sheet2").cells(r, "S") = worksheets("Sheet1").range("A25").value
worksheets("Sheet2").cells(r, "T") = worksheets("Sheet1").range("A26").value
worksheets("Sheet2").cells(r, "U") = worksheets("Sheet1").range("A27").value
worksheets("Sheet2").cells(r, "V") = worksheets("Sheet1").range("A28").value
end sub
それと?
>それとは別に、データベースシートと同じ構造の別ブックに同様にデータを転記していくマクロも知りたいです。
それは,単に転記先が違うだけで仕事は(=マクロは)一緒という事で良いんですね。
基本は「workbook("ブック名.拡張子").worksheets("シート名").…」のように,具体的にどのブックの具体的にどのシートの具体的にドコのセル番地と指定するだけです。
ありがとうございます!!!
思った通りにシート転記できました!!!
また先の質問には回答者の皆様にお礼のコメントを入れたつもりだったのですが、うまく反映されていなかったのか、不愉快な思いをさせてしまったようで申し訳ございません。
あの後色々やってみたのですがうまくいかず、仕様も変わってしまったため再質問させて頂いた次第です。
すみませんがもう一つ教えて頂きたいのですが、別ブックに転記する際、そのファイルは作業のつど変わる可能性があり(中身の構造は同じです)、別の転記ボタンを作ってクリックするときに選択する方式にしようと思っています。
いま頂いたコードで書き換えて作ってみたのですがエラーになってしまい。。。
どうしたらよいでしょうか。ご教授いただけないでしょうか。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) VBAで同フォルダ内の別ブックを開かず参照して条件の一致する行の指定セルを抽出するには? 1 2022/07/21 19:29
- Excel(エクセル) SUMIFのIF分岐について 4 2023/04/15 12:57
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) 【条件付き書式】countifsで複数条件を満たしたセルを赤くする方法 2 2023/02/09 23:53
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで日付の入ったセルの...
-
エクセルでセルに「氏名を入力...
-
Excel ウインドウ枠の固定をす...
-
Excelファイルの「数式」タブ→...
-
関数を教えて下さい。
-
スマートな関数を教えて下さい。
-
EXACT関数とIF関数の組み合わせ...
-
スプレッドシートの関数VLOOKUP...
-
Excelのif関数で文字が見えなく...
-
Excel 2019 のピボットテーブル...
-
Excel 2019 は、SPILL機能があ...
-
各ページの1番上の表示について
-
写真のコピー
-
条件付き書式を教えてください
-
INDEX関数やMATCH関数で値を取...
-
エクセル グラフ軸について
-
excelの不要な行の削除ができな...
-
Excelで行をコピー、同じ行内に...
-
エクセル関数に詳しい方、教え...
-
Excel 改ページの文字色の変更...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 別シート、別ブックへ条件...
-
コピペマクロを高速化したい(E...
-
ローマ字→カタカナへ変換(エク...
-
エクセルVBAでセルに入力したパ...
-
マクロ 実行ボタンを押さずに...
-
Excel:コマンドボタンの移動
-
コマンドボタンを押すたびに大...
-
複数ファイルにある特定のシー...
-
EXCELのセルへ、デジタル時計を...
-
excelに貼り付けた数値が勝手に...
-
スクロールしてもボタンを常に...
-
Excel VBA のdebug(F8キー) が...
-
エラーになってないのにVBA...
-
Excelを開いた時に表示さ...
-
Wordで「原稿用紙○枚」を換算す...
-
押したボタンの位置取得(共通の...
-
エクセルVBAでOptionButtonのオ...
-
ワードからエクセルへ貼り付け...
-
ShowAllDataのエラーを回避したい
-
エクセルで複数のシートをまと...
おすすめ情報