Page 112 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼検索して一致すれば別セルに書き移すことは? いぬだわん 02/9/21(土) 22:10 ┗Re:検索して一致すれば別セルに書き移すことは? Nakamura 02/9/22(日) 1:06 ┗Re:検索して一致すれば別セルに書き移すことは? いぬだわん 02/9/22(日) 14:25 ┗Re:検索して一致すれば別セルに書き移すことは? Nakamura 02/9/22(日) 15:13 ┗Re:検索して一致すれば別セルに書き移すことは? いぬだわん 02/9/22(日) 21:02 ┗Re:検索して一致すれば別セルに書き移すことは? Nakamura 02/9/22(日) 21:46 ┗Re:検索して一致すれば別セルに書き移すことは? いぬだわん 02/9/22(日) 22:35 ─────────────────────────────────────── ■題名 : 検索して一致すれば別セルに書き移すことは? ■名前 : いぬだわん ■日付 : 02/9/21(土) 22:10 -------------------------------------------------------------------------
こんばんは。 質問です。 例えば (A列) (B列) (C列) (D列) (E列) あ う 1 い い 2 う あ 3 え え 4 お か 5 というデータがあるとします(B、C列は空白)。 A列のデータとD列のデータが検索をして合致すれば B列にE列のデータを書き移す、ということをしたいのですが (A列の「あ」というところとD列の「あ」が合えばB列に「3」を書き移す)。 もし、仮に合致しなかった場合は、そこは空白とします。 Filterでやってみたところ、 検索する文字列を変数で割り当てたところ、 型が一致しないとのエラーが出てしまいました。 いつも勝手ではありますが、ご助力願えればと思います。 |
こんばんは こんな感じどうでしょう? Sub test() Dim shRg As Range Dim wk As Worksheet Set wk = ActiveSheet For Each shRg In wk.Range("A1", wk.Range("A65536").End(xlUp).Address) With shRg If .Value = .Offset(, 3).Value Then .Offset(, 1).Value = .Offset(, 4).Value End If End With Next Set wk = Nothing End Sub それでは |
▼Nakamura さん: こんにちは。 ありがとうございました。 やってみたところ、上手くいきました。 もうひとつ質問ですが、 A列とD列にセルのAddressが違っているだけで、同じものがある場合は どのようにprogを書いたらいいのでしょうか。 例えば、 A列とD列に同じ「あ」というものがあって、Addressが違う場合です。 書き移す場所はB列です。 助けていただければありがたいです。 |
▼いぬだわん さん: こんにちは >A列とD列にセルのAddressが違っているだけで、同じものがある場合 >A列とD列に同じ「あ」というものがあって、Addressが違う場合です。 もう少し具体的に説明して下さい。 A列に有る「あ」に対してD列の違う行に有る「あ」の隣(E列)の値を A列の有る「あ」の隣(B列)に書き移す。 と言う事でしょうか? また、書き移すとは、カット&ペーストの事ですか? それでは |
▼Nakamura さん: こんばんは。 >A列に有る「あ」に対してD列の違う行に有る「あ」の隣(E列)の値を >A列の有る「あ」の隣(B列)に書き移す。 >と言う事でしょうか? そうです。 >また、書き移すとは、カット&ペーストの事ですか? そうです。 言葉が足りなくて大変申し訳ございませんでした。 |
こんばんは こんな感じでどうでしょう? Sub test1() Dim shRg As Range Dim fiRg As Range Dim wk As Worksheet Set wk = ActiveSheet For Each shRg In wk.Range("A1", wk.Range("A65536").End(xlUp).Address) With shRg Set fiRg = Columns("D").Find(.Value, LookIn:=xlValues, LookAt:=xlWhole) If Not fiRg Is Nothing Then .Offset(, 1).Value = fiRg.Offset(, 1).Value fiRg.Offset(, 1).ClearContents End If End With Next Set fiRg = Nothing Set wk = Nothing End Sub 重複は考慮していません。 それでは |
▼Nakamura さん: こんばんは。 やってみたところ、うまくいきました。 すみません。いろいろありがとうございました!! |