VBA初心者です。
以下のことがしたいのですが、
コードをご教示いただきたくお願いいたします。
BOOKが5つあります。
BOOK1:抽出用(Sheet2に日々の受注データを入れています)
BOOK2:転記100用
BOOK3:転記200用
BOOK4:転記300_400_500用
BOOK5:工事番号用
BOOK1:抽出用はA列からQ列まで工事番号ごとに2行目から受注データが入っています。
抽出用のsheet2のA列に「1」と入力することで転記したいデータだというフラグにし、
抽出用O列のコード100,200,300,400,500(工事の種類のようなものです)を見て、
該当のBOOK2から4にその工事番号が転記がされているか?
(されていれば登録済みのメッセージ表示)
転記がされていなければ新規に登録、
新規登録の際に、抽出用Sheet2のD列の工事番号、I列の件名、K列の数量を表示して、
このデータを新規登録しますか?のようなメッセージを出し、Yesなら新規登録。
さらに、新規に登録した際にはその工事番号を名前とするBOOK5を新規作成、
BOOK5にも抽出用の受注内容を転記。
BOOK2から4に転記された工事番号をクリックすると
その工事番号のBOOK5にジャンプするようにしたいのです。
抽出用A2とA4に「1」と入力された場合(O列は共に200)
BOOK1抽出用データの転記したいセル番地 → BOOK3転記200用のセル番地
A2のデータ
D2 → A7
K2 → A8
C2 → A9
H2 → A10
I2 → A11
F2 → D7
L2 → D8
M2 → D9
J2 → D10
C2 → I5
Q2 → J5
A4のデータ
D4 → A12
K4 → A13
C4 → A14
H4 → A15
I4 → A16
F4 → D12
L4 → D13
M4 → D14
J4 → D15
C4 → I10
Q4 → J10
BOOK2から4は1つの工事番号を5行使用して表わしています。
ですので、1つの工事番号が7から11の行、
2つ目の工事番号が12から16行目となり、それぞれ100件分の工事番号を入れられるように
作成してあります。
またBOOK5については、(A2のデータの場合)以下のように転記し、ファイル名を抽出用D2の工事番号にしたいです。
A2のデータ
D2 → A3
K2 → A4
C2 → A5
H2 → A6
I2 → A7
F2 → F3
L2 → E4
M2 → E5
J2 → E6
大変長くなってしまいましたが、以上のようなことをしたいと考えておりますが、
当方、VBA初心者でして参考書とネットを駆使して抽出用のVBA(CSVデータをコピーして加工する)ことにすら大苦戦しております。
なんとかお力を貸していただけないでしょうか?
ご教示よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
いろいろと質問事項が多くて回答するのが難しいです。
>当方、VBA初心者でして参考書とネットを駆使して抽出用のVBA(CSVデータをコピーして加工する)ことにすら>大苦戦しております。
ですか、ここは発想を変えましょう。
私だったら
BOOK1:抽出用(Sheet2に日々の受注データを入れています)
のブックに、
転記100用、転記200用、転記300_400_500用、工事番号用のシートを準備します。
たぶん、VBAのコードもシンプルになります。意外と関数やエクセルの抽出の機能でできたりするでしょう。
その準備ができたら、必要に応じて、別ブックにシートごと張り付ける操作をVBAで考えます。
経験則からですが、そのほうが後々、変更などあった場合に楽ですよ。
この回答への補足
hallo-2007さん、こんばんは。
回答ありがとうございます。
教えていただいたような構成のものを作成してみました。
まずはA列に「1」と入力された時に
O列の種類コードを見て、
該当するシートにそのデータが転記されているか否か?
転記されていないものならば、新規登録するか?
というメッセージを表示。
ここまでをやってみたいのですが…
お時間ございましたらご教示願えますでしょうか?
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Visual Basic(VBA) 【VBA】データを入力後に,同一シート内に履歴として転記するVBAコードを教えていただきたいです。 3 2022/11/16 01:37
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- その他(データベース) Excel VBA 転記について 1 2022/04/20 16:55
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Oracle 質問です。 下記のテーブルとデータがあり、 取得想定結果のように出力したいです。 下記のsqlだと0 2 2023/05/23 19:10
- その他(データベース) 伝票番号、品番、在庫としてマクロでもAccessでもデータ表を作りたいのですが、ご指導お願いします 1 2022/11/13 23:48
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセス クエリ-で空白以外の...
-
アクセスでレポートの1印刷内...
-
電話番号の局番と住所の検索に...
-
ヤマト急便のチェックデジット...
-
select insertで複数テーブルか...
-
レコードセット(ADO.Recordset)...
-
DataGridViewの、選択されてい...
-
Accessで別テーブルの値をフォ...
-
実績累計の求め方と意味を教え...
-
Excelで、改行がある場合の条件...
-
LEFT JOINの条件式で=’’を使用...
-
NULLのみを保持した列を除外し...
-
GROUP BYを行った後に結合した...
-
sqlplusの処理が途中でとまる
-
【SQL】existsでの商演算
-
[VB6]プログレスバーコントロー...
-
ADO VBA 実行時エラー3021
-
SQL文で素早くNULLを除外する方法
-
Access終了時の最適化が失敗?
-
ACCESSでテーブルのMAX値(文字...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクスプローラーで「2つの条件...
-
抽出したデータを修正して元の...
-
ACCESSの集計クエリで3件ある...
-
MS-DOSコマンドプロンプトを途...
-
ACCESSのクエリで同じSQL文だが...
-
アクセス クエリ-で空白以外の...
-
エクセル関数 文字(ハイフン...
-
空白文字とスペースの検索
-
<SQL>条件付きで最小値レコード...
-
SQLServerからエクセルにデータ...
-
VBA CSVファイルを文字列に
-
エクセルデータの末尾の改行を...
-
ADO接続からのACCESSデータシー...
-
Excel VBA:セルを新旧1つずつ...
-
商品テーブルからカテゴリ別の...
-
VBAでEXCELファイルからデータ...
-
エクセルで特定データの抽出を...
-
エクセル Offset関数 飛び行の...
-
アクセスでのデータの引き抜き(...
-
SQL 変化を知りたい
おすすめ情報