Page 449 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼異なるブックの値の検索 まさ 02/12/9(月) 16:17 ┗Re:異なるブックの値の検索 Nakamura 02/12/9(月) 22:18 ┗Re:異なるブックの値の検索 まさ 02/12/11(水) 9:53 ┗Re:異なるブックの値の検索 Nakamura 02/12/11(水) 23:27 ┗Re:異なるブックの値の検索 まさ 02/12/12(木) 9:03 ─────────────────────────────────────── ■題名 : 異なるブックの値の検索 ■名前 : まさ <m-amemiya@globalstaff.co.jp> ■日付 : 02/12/9(月) 16:17 -------------------------------------------------------------------------
みなさまこんにちは。 早速ではありますが質問をさせて下さい。 題名がわかりにくくて申し訳ございません。 質問したい内容は、 test1というブックとtest2というブックがあります。 test1には、 A列 名前 B列 部署名 C列 売上金額 が入っています。 (1行目からデータが入っているとは限りません。 また途中に空白の行が入っていることがあります) test2には、 A列 名前 B列 社員コード C列 部署コード が入っています。 test1の名前の列の前列にに社員コードを、 部署名の列の前列に部署コードを それぞれtest2のデータを基に挿入したいと思っています。 このように、異なるブックのデータを見て表示させることは可能なのでしょうか? 質問の内容がわかりにくくて申し訳ありません。 何卒よろしくお願い申し上げます。 WinNT/Excel2000です。 |
こんばんは こういう事かな? 各ブックともシート名が不明なので”Sheet1"としています。 両ブックとも開かれている物とし、重複は無い物とします。 Sub test() Dim t1Sh As Worksheet, t2Sh As Worksheet Dim Rg As Range, fiRg As Range Set t1Sh = Workbooks("test1.xls").Worksheets("Sheet1") Set t2Sh = Workbooks("test2.xls").Worksheets("Sheet1") t1Sh.Columns("A").Insert Shift:=xlToRight t1Sh.Columns("C").Insert Shift:=xlToRight For Each Rg In t2Sh.Range("A1", t2Sh.Range("A65536").End(xlUp).Address) Set fiRg = t1Sh.Columns("B").Find(Rg.Text, , xlValues, xlWhole) If Not fiRg Is Nothing Then fiRg.Offset(, -1).Value = Rg.Offset(, 1).Value fiRg.Offset(, 1).Value = Rg.Offset(, 2).Value End If Next Set fiRg = Nothing Set t1Sh = Nothing Set t2Sh = Nothing End Sub それでは |
Nakamura さま ご連絡が遅くなり申し訳ございませんでした。 ありがとうございました。 できました。 すべては理解できませんでしたが、 一行づつ勉強してみます。 ちなみに、基となるBookは開いていないとできないでしょうか。 閉じたまま処理することはできるのでしょうか。 |
こんばんは DAOとか使えば出来ると思いますが、使ったことがありませんので、 適切なアドバイスが出来ません。m(_ _)m 時間的な問題でも無い限り、マクロでブックを開いたり閉じたりする事も 出来ますし、ブックを開いて処理した方が良いと思います。 それでは |
Nakamura さま ありがとうございました。 たしかに1秒を争うことでもないので(^o^) マクロで開くようにします。 丁寧にご教授頂きまして本当にありがとうございました。 また何かありましたらよろしくお願い致します。 |