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

VBA:初心者です。教えて下さい。

【データ名】
A.xlt シート1~4
B.xlt シート1のみ

【やりたいこと】
A.xlt にある『マクロ』を押すと、閉じた状態の『B.xlt』の『シート1』を開き、
A.xltの『A4:A*』に記載されている内容と、B.xltの『DJ11:DJ*』に記載の
内容から〝全一致〟の内容を探す。
その後〝全一致〟した、B.xltの『DJ11:DJ*』の『DF11~DF*』行の『値』を
A.xltの『A4:A*』の一致した行の『AE4:AE*』の行に貼り付ける。

【完成形のイメージ】

<マクロ実行前>
A.xlt
 A    B  ・・・・・   AE
3 品名 コメント ・・・・・ 数量
4 AAA aaaaa  ・・・・・ 〔空白〕
5 BBB bbbbb  ・・・・・ 〔空白〕
6 CCC ccccc ・・・・・ 〔空白〕

B.xlt
DC ・・ DE DF   DJ
10 №  ・・  材質 数量 パーツ
11 021 ・・ A6063 1 BBB
12 RA ・・ SS300  3 CCC
13 1 ・・  SPCC 2 AAA

<マクロ実行後>

A.xlt
 A    B          AE
3 品名 コメント ・・・・・ 数量
4 AAA aaaaa ・・・・・ 2
5 BBB bbbbb  ・・・・・ 1
6 CCC ccccc ・・・・・ 3

B.xlt
DC DD DE DF
10 № 名称 材質 数量
11 021 bbbbb A6063 1
12 RA ccccc SS300 3
13 1 aaaaa SPCC 2


【補足説明】
1)B.xlt のデータは必ず、Desktopに保存してある
2)『DD11:DD*』は多くても100行程度
3)『A4:A*』は多くても100行程度
4)2)の行数と 3)の行数は必ずしも一緒ではない
5)2)・3)の最終行は必ず『空白』行
6)貼付られるデータは『文字列』
7)A.xltとB.xlt の『シート名』は基本固定だが、変更される場合がある
8)ブック名も変わる可能性があります



説明が下手で申し訳ございませんが、このようなVBAを作りたいです。

助けて下さい。

よろしくお願いします。

A 回答 (1件)

Set TargetBook = Workbooks.Open("B.xlt")


として、TargetBookを制御すれば、良いのでは?
    • good
    • 0
この回答へのお礼

ご回答・ご助言、ありがとうございます。

的確なアドバイスかと推察されますが、私、本当に初心者(素人)の為、理解できない状況です。

ご無理を言いますが、VBAの組み方を、1~10・・教えて頂けますと幸いです。

よろしくお願いします。

以上

お礼日時:2019/02/12 13:22

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