2011-06-24 37 views
0

セルの場所を含む配列が検索機能を構成しています。配列の各位置の結果を、列D:Pからの後続のデータ入力とともに表示したいとします。これを行う効率的な方法はありますか?これは私がこれまで持っているものですが、それは作業コードではなく、それが唯一の選択された場合、私はそれを好むD:P列の代わりに、行全体、列の場合VBA:配列からコピー貼り付け範囲

Dim i1 As Integer 
Dim Results1() As Variant 
Dim p1results As Range 
Dim NextRow as Long 

    For i1 = LBound(Results1) To UBound(Results1) 
     Set p1results = Results1(i1).Value 
     p1results.EntireRow.Copy 
     Sheets("SearchResult").Select 
     NextRow = Range("D65536").End(xlUp).Row + 1 
     Cells(NextRow, 1).Select 
     ActiveSheet.Paste 
    Next i1 
+0

結果1が正確に含まれていることを教えてください。範囲オブジェクト?ロケーションアドレスの文字列ですか? –

+0

結果1には、ロケーションアドレス –

答えて

0
Dim i1 As Integer 
Dim Results1() As Variant 
Dim rngDest as Range 

Set rngDest = Sheets("SearchResult").Cells(rows.count,4).End(xlUp).Offset(1,-3) 

For i1 = LBound(Results1) To UBound(Results1) 
        
    Range(Results1(i1)).EntireRow.Copy rngDest 
    Set rngDest = rngDest.Offset(1,0) 
             
Next i1 
0

(D:P)をお試しください:

Dim i1 As Integer 
Dim Results1() As Variant 

For i1 = LBound(Results1) To UBound(Results1) 
    Sheets("SearchResult").Cells(Rows.Count, "D").End(xlUp)(2).Resize(, 13).Value = _ 
    Range(Results1(i1)).Resize(, 13).Value 
Next i1 

コピーを使用しないようにすることをお勧めします。コピーは、遅いクリップボードを使用します。

関連する問題