プロが教える店舗&オフィスのセキュリティ対策術

転記のVBAで現在作成しているコードに、さらに条件を追加させたいコードがあり、どう書けばいいか分かりませんのですみませんが、教えて下さい。
現在記入している内容、及びコードは下記の通りです。

《内容》
①転記先のA,E,F,H,I列初期化
②転記先の最終行を取得
③転記元と転記先の車種が一致していれば、車種数を確認
④転記先の車種が何処の行にあるか確認
⑤転記先に貼り付ける車種の種類で1行間隔をあける
⑥転記元から、転記先へ同じ車種の場所に製造NOを転記
※転記する場所は、転記元、転記先共に同じ項目で、転記先のE,F,H列になります。
※転記する転記元のC,D,F列で、C列は番号が若い者順になっており、必ず番号の若い物から転記します。

《VBAコード》
Sub 転記()
Dim 車種行 As Long
Dim 転記元車種行 As Long
Dim 転記元車種数 As Long
Dim 転記元 As Worksheet
Dim 転記先 As Worksheet

Application.ScreenUpdating = False
Set 転記元 = Sheets("在庫一覧")
Set 転記先 = Sheets("まとめ")

転記先.Select
転記先.Range(Cells(6, 1), Cells(9999, 1)).ClearContents
転記先.Range(Cells(6, 5), Cells(9999, 6)).ClearContents
転記先.Range(Cells(6, 8), Cells(9999, 9)).ClearContents

With 転記元

For 車種行 = 転記先.Cells(Rows.Count, 2).End(xlUp).Row To 6 Step -1
転記元車種数 = Application.CountIf(.Range("A:A"), 転記先.Cells(車種行, 2))
転記元車種行 = Application.Match(転記先.Cells(車種行, 2), .Range("A:A"), 0)
転記先.Rows(車種行 + 1 & ":" & 車種行 + 転記元車種数).Insert
転記先.Cells(車種行, 5).Resize(転記元車種数, 3) = 転記元.Cells(転記元車種行, 3).Resize(転記元車種数, 3).Value
転記先.Cells(車種行, 8).Resize(転記元車種数, 6) = 転記元.Cells(転記元車種行, 6).Resize(転記元車種数, 6).Value
Next

End With
Application.ScreenUpdating = True
End Sub

上記のコードは単に転記元から転記先に、車種が一致していれば、その車種があるだけ1行開けて、製造NOを転記しているだけになります。
このコードに下記の条件を入れるにはどういうコードを入れれば良いでしょうか?

≪教えていただきたい条件のVBAコード≫
転記後、まとめシートで、それぞれの車種において、D列=必要重量とF列=部品重量が同じ、かつF列=部品重量が±10%以内、かつH列=不良品が"不良"以外の物であれば、A列=状態に"○"を付ける。"○"以外は"他"と入力し、かつI列=結果に"なし"と入力する。これらの条件に合わない場合は、転記したE,F,H列のデータをD列=必要重量に合う様に、行間で入れ替える。
詳細は画像を参照ください。

すみませんが、宜しくお願い致します。

「VBA シート間の転記で、条件の追加コー」の質問画像

質問者からの補足コメント

  • 画像が見にくい状態でしたので、下記に再度添付します。
    よろしくお願いします。
    https://gyazo.com/ce22f43a942ab9decc5c7c9b83e01266

      補足日時:2023/02/26 10:35
  • お世話になります。
    現在テストしてますが、うまくいかず、、すみませんが、処理の内容を教えていただけないでしょうか?
    よろしくお願い致します

      補足日時:2023/02/27 15:27

A 回答 (13件中11~13件)

見出しの確認です。


在庫一覧シートの
A列:車種
B列:型式
C列:製造No
D列:部品重量
E列:不明
F列:不明
G列:不明

まとめシートの
A列:重量
B列:車種
C列:型式
D列:必要個数
E列:製造No
F列:不明
G列:不明
H列:不明
I列:不明

①上記で、不明 となっている個所の提示をお願いします。
②上記で、不明以外の列は、この名称であってますでしょうか。
    • good
    • 0
この回答へのお礼

ご連絡ありがとうございます。
すみません、下記に転記させていただきます。

在庫一覧シートの項目は下記になります。
A列:車種
B列:型式
C列:製造No
D列:部品重量
E列:備考1
F列:備考2(不良品)
G列:備考3

まとめシートの項目は下記になります。
A列:状態
B列:車種
C列:型式
D列:必要個数
E列:製造No
F列:部品重量
G列:部品単量
H列:不良品
I列:結果

になります。

よろしくお願い致します。

お礼日時:2023/02/26 11:57

No1です。


画像のアップありがとうございました。
まだ、仕様の詳細を検討していませんが、
現行の仕様では、まとめのシートを変更するようになっていますが、以下のようにしても良いでしょうか。
出力用に新規のシートを作成し、そのシートへ作成する。
シート:まとめは参照のみとし変更しない。

上記のようにする利点ですが、マクロを何回でも実行ができることです。
現行の場合だと、一度マクロを実行すると、シート:まとめ が更新され、
再度マクロの実行ができなくなってしまいます。

上記で良ければ、マクロの提示可能です。その場合は、新規のシート名の提示もお願いします。
    • good
    • 0
この回答へのお礼

早急のご連絡本当に感謝しております。
はい、ご提案いただいた内容でかまいません。
新規のシート名は、何でも大丈夫ですが、「転記先」でもよろしいでしょうか?
ご迷惑をおかけいたしますがよろしくお願い致します。

お礼日時:2023/02/26 11:36

画像がよく見えません。

(このサイトは大きい画像をアップするとぼやけてしまいます)
画像をgyzo.comへアップすると鮮明な画像が表示可能です。
gyzo.comへアップされてはいかがでしょうか。
以下は、アップした画像のサンプルです。(画像の内容は本件とは関係ありません)
https://gyazo.com/0bd339bb5dd086e92152bd17a351376d
    • good
    • 1
この回答へのお礼

ご連絡ありがとうございます。また確認していただきありがとうございます。こんなアプリがあったとは知りませんでした。貼り付け直します。

お礼日時:2023/02/26 10:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!