2017-12-11 9 views
0

一致の範囲/行またはセルアドレスを取得しようとしています。このスニペットの最後の行でわかるように、マッチと関連データはソースシートからレシピエントシートにコピーされています。私が気づいた問題は、ソースiが必ずしも受信機の正しい行ではないということです。一致するセルのVBA取得アドレスが値ではありません

Dim FindString As String 
Dim Rng As Range 
    FindString = wsSource.Range("B" & i).Value 
    If Trim(FindString) <> "" Then 
    With wsReciever.Range("A:A") 'searches all of column A 
     Set Rng = .Find(What:=FindString, _ 
     After:=.Cells(.Cells.Count), _ 
     LookIn:=xlValues, _ 
     LookAt:=xlWhole, _ 
     SearchOrder:=xlByRows, _ 
     SearchDirection:=xlNext, _ 
     MatchCase:=False) 
     If Not Rng Is Nothing Then 'value found copy hours to Total Wk 
     'Estimates 
     wsSource.Range("F" & i & ":" & "NS" & i).Copy _ 
     wsReceiver.Range("D" & ? & ":" & "NQ" & ?) 

したがって、正しい行にデータを貼り付けることができるように、受信者シートの一致のアドレスを取得することは可能ですか?

TIA。

+1

If Not Rng Is Nothing Thenの後に 'Rng.Address'を使用してみてください。 'Rng.Row'を使用する場合は、' Rng.Row'を使用してください。 –

+0

こんにちはSha Rado、私はうれしいことに、ちょうど時間の答えを取るためのチェックマークを与えるでしょう:-)あなたが投稿して、コメント。 – Six

+0

下に自分の答えを追加しました –

答えて

0

ここでは、上記の私のコメント次、行きます。

の番号を取得する場合は、Rng.Rowを使用してください。

0

私はそれを投稿したらすぐに(RTFM)この記事を残念に答えを見つけました。

検索の範囲オブジェクト(この場合はRng)を使用するだけで、一致が見つかった場合は変数をそのアドレスと同じにする必要があります。あなたはIf Not Rng Is NothingAddress使用Rng.Addressを取得したい場合は

j = Rng.Address 'if you want the Cell or 
j = Rng.Row 'if you just need the row number. 
関連する問題