質問: ### 前提・実現したいこと エクセルで作成した工事の台帳から指定した工事に関する提出書類(帳票)を作成したい ### 発生している問題・エラーメッセージ エクセルで作成した工事台帳があり、現在テーブルにしてある。 | 工事番号 | 工事件名 | 納期 | 金額 | 親工事番号 | | --- | --- | --- | --- | --- | | 1 | AAAA | R1.11.15 | 368,000 | | | 2 | BBBB | R1.11.15 | 261,900 | 1 | | 3 | CCCC | R1.11.15 | 260,000 | 1 | | 4 | DDDD | R1.12.25 | 47,000 | | | 5 | EEEE | R2.1.18 | 368,000 | | | 6 | FFFF | R2.1.18 | 266,000 | 5 | | 7 | GGGG | R2.3.12 | 300,000 | | | 8 | HHHH | R1.12.25 | 266,000 | 4 | 工事番号をクリックしたら、その番号の行の情報を拾い、別ファイルに準備してある雛型に情報を入れ込み、帳票作成を行いたい。 また、工事に対して子工事がある場合は、親工事の選択したら、子工事の行の情報も一緒に拾いたい。 工事番号1のセルをクリックしたら、工事番号2と3の行の情報も一緒に拾う。 親工事番号に番号が入力してある工事番号をクリックした場合は、そのクリックした工事の情報のみ拾う。工事番号2のセルをクリックした場合は2の行の情報のみ。 エクセルVBAを使って作りたいのですが、何からどのように作ったらよいのかわかりません。 よろしくお願いします。 ### 該当のソースコード Sub ?I???() ' ' ?I??? Macro ' ' Range("A5,B5,C5,D5,E5,A9,B9,C9,D9,E9").Select Range("E9").Activate Selection.Copy Sheets("?????").Select Range("A1").Select ActiveSheet.Paste End Sub ### 試したこと マクロの記録で指定したいセルをクリックしてみました。 記録の内容をヒントにしてみようと思いましたが、クリックしたセルがSelectになっているだけで、条件を付けたい場合、どのようにしたらいいのか悩んでいます。 ご回答いただきましたアドバイスにより、はじめのマクロAを作成しているのですが、今の自分のレベルでできたのが、ここまでです。 アドバイスいただけないでしょうか。 ### 該当のソースコード Sub マクロA() ' ファイルをひらく Macro ' Workbooks.Open Filename:="U:\???q????[??\?????.xlsm" '?t?@?C????A?N?e?B?u Workbooks.Open "U:\???q????[??\?_????.xlsm" Workbooks.Open "U:\???q????[??\?????.xlsm" Workbooks("?????.xlsm").Activate '?w?b?_?[??O??? Rows("2:" & Rows.Count).ClearContents '?t?@?C????A?N?e?B?u Workbooks.Open "U:\???q????[??\?_????.xlsm" Workbooks.Open "U:\???q????[??\?????.xlsm" Workbooks("?_????.xlsm").Activate '?A?N?e?B?u?Z????s?S???I?? Rows(ActiveCell.Row).Select ' ?t?@?C????J?? Macro ' Workbooks.Open Filename:="U:\???q????[??\?????.xlsm" '?t?@?C????A?N?e?B?u Workbooks.Open "U:\???q????[??\?_????.xlsm" Workbooks.Open "U:\???q????[??\?????.xlsm" Workbooks("?????.xlsm").Activate '?w?b?_?[??O??? Rows("2:" & Rows.Count).ClearContents '?t?@?C????A?N?e?B?u Workbooks.Open "U:\???q????[??\?_????.xlsm" Workbooks.Open "U:\???q????[??\?????.xlsm" Workbooks("?_????.xlsm").Activate '?A?N?e?B?u?Z????s?S???I?? Rows(ActiveCell.Row).Select End Sub ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: 1. 追加されたマクロAは文字化けで読めず、アドバイスのしようがありません。 2. やるべきことは、作成したい帳票に必要な個別データ(日付等、システムから入手できるデータを除く)をこのexcel上に用意し、雛型上の必要な位置に埋めこんでいくことです。 現状で都合が悪ければexcelシートも雛型も変更してやり易くすると少し楽になります。 例えば個別データを挿入すべき位置に固有の記号[@@01@@等、最終的に帳票に現れない記号を使う]を入れておいて置換しやすくする。