過去ログ

                                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でやってみたところ、
検索する文字列を変数で割り当てたところ、
型が一致しないとのエラーが出てしまいました。

いつも勝手ではありますが、ご助力願えればと思います。
 ───────────────────────────────────────  ■題名 : Re:検索して一致すれば別セルに書き移すことは?  ■名前 : Nakamura  ■日付 : 02/9/22(日) 1:06  -------------------------------------------------------------------------
   こんばんは

こんな感じどうでしょう?

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

それでは
 ───────────────────────────────────────  ■題名 : Re:検索して一致すれば別セルに書き移すことは?  ■名前 : いぬだわん  ■日付 : 02/9/22(日) 14:25  -------------------------------------------------------------------------
   ▼Nakamura さん:
こんにちは。
ありがとうございました。
やってみたところ、上手くいきました。
もうひとつ質問ですが、
A列とD列にセルのAddressが違っているだけで、同じものがある場合は
どのようにprogを書いたらいいのでしょうか。
例えば、
A列とD列に同じ「あ」というものがあって、Addressが違う場合です。
書き移す場所はB列です。

助けていただければありがたいです。
 ───────────────────────────────────────  ■題名 : Re:検索して一致すれば別セルに書き移すことは?  ■名前 : Nakamura  ■日付 : 02/9/22(日) 15:13  -------------------------------------------------------------------------
   ▼いぬだわん さん:
こんにちは

>A列とD列にセルのAddressが違っているだけで、同じものがある場合

>A列とD列に同じ「あ」というものがあって、Addressが違う場合です。

もう少し具体的に説明して下さい。

A列に有る「あ」に対してD列の違う行に有る「あ」の隣(E列)の値を
A列の有る「あ」の隣(B列)に書き移す。

と言う事でしょうか?
また、書き移すとは、カット&ペーストの事ですか?

それでは
 ───────────────────────────────────────  ■題名 : Re:検索して一致すれば別セルに書き移すことは?  ■名前 : いぬだわん  ■日付 : 02/9/22(日) 21:02  -------------------------------------------------------------------------
   ▼Nakamura さん:
こんばんは。

>A列に有る「あ」に対してD列の違う行に有る「あ」の隣(E列)の値を
>A列の有る「あ」の隣(B列)に書き移す。
>と言う事でしょうか?

そうです。

>また、書き移すとは、カット&ペーストの事ですか?

そうです。

言葉が足りなくて大変申し訳ございませんでした。
 ───────────────────────────────────────  ■題名 : Re:検索して一致すれば別セルに書き移すことは?  ■名前 : Nakamura  ■日付 : 02/9/22(日) 21:46  -------------------------------------------------------------------------
   こんばんは

こんな感じでどうでしょう?

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

重複は考慮していません。

それでは
 ───────────────────────────────────────  ■題名 : Re:検索して一致すれば別セルに書き移すことは?  ■名前 : いぬだわん  ■日付 : 02/9/22(日) 22:35  -------------------------------------------------------------------------
   ▼Nakamura さん:
こんばんは。
やってみたところ、うまくいきました。
すみません。いろいろありがとうございました!!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 112