|
下記の”A1”のところを”D10”に変更しても
うまくできないんですが。。。
うまくできる方法を教えていただけないでしょうか?
Set r1 = WS1.Range("A1", WS1.Cells(WS1.Rows.Count, 1).End(xlUp))
Set r2 = WS2.Range("A1", WS2.Cells(WS2.Rows.Count, 1).End(xlUp))
▼シン さん:
>こんばんわ。
>以前、条件移動についてご質問させて頂き
>下記のように教えて頂きました。
>下記のプログラムはsheet1のA1とsheet2のA1を比較し
>これらが同じの場合のみsheet2からsheet1コピーするようなものです。
>
>しかし、困ったことに、A1の列でしか比較ができずにいます。
>たとえば、sheet1のD10〜D30の列とsheet2のB7からB27まで
>比較し下記のような動作ができるようにしたいのですが。
>教えて頂けないでしょうか?
>
>下記は以前教えて頂いた型です。
>-----------------------------------------------------------
>
>
>Sub Try1() 'WS2 → WS1
> Dim WS1 As Worksheet
> Dim WS2 As Worksheet
> Dim r1 As Range, c As Range
> Dim r2 As Range
> Dim r22 As Range
>
> Set WS1 = Worksheets("Sheet1")
> Set WS2 = Worksheets("Sheet2")
>
> Set r1 = WS1.Range("A1", WS1.Cells(WS1.Rows.Count, 1).End(xlUp))
> Set r2 = WS2.Range("A1", WS2.Cells(WS2.Rows.Count, 1).End(xlUp))
> Set r22 = r2.Offset(, 2).Resize(, 5)
> Dim m
> r1.Offset(, 2).Resize(, 5).ClearContents
> For Each c In r1
> m = Application.Match(c, r2, 0)
> If IsNumeric(m) Then
> r22.Rows(m).Copy c(1, 2)
> End If
> Next
>
>End Sub
|
|