私はA、B、Cの3つの列にデータを持っています。 列Aと列Bが一致する場合、次の3つの値を列Cからコピーします。 AとBが3行目で一致するので、列Cから番号1,3と6をコピーします。VBAでの相対セル参照
A B C
1 2 4
3 4 4
5 5 1
4 6 3
4 8 6
1 8 3
私はリサイズ、Range(Cells(Selection.Row, 1), Cells(Selection.Row, 3)).Copy
などを試してみましたが、何も動作するようには思えません。
Sub test()
Dim rngsize As Range, rngsize2 As Range, rngmake As Range, rngmake2 As Range, rngprice As Range, rngprice2 as range, i As Integer, j As Integer, x As Integer
x = 3
For i = 2 To Sheets("Sheet3").Range("E" & Rows.Count).End(xlUp).Row
For j = 7 To Sheets("Sheet2").Range("E" & Rows.Count).End(xlUp).Row
Set rngsize = Sheets("Sheet3").Range("E" & i)
Set rngsize2 = Sheets("Sheet2").Range("E" & j)
Set rngmake = Sheets("Sheet3").Range("F" & i)
Set rngmake2 = Sheets("Sheet2").Range("F" & j)
Set rngprice = Sheets("Sheet3").Range("X" & i)
Set rngprice2 = Sheets("Sheet2").Range("X" & j)
If rngsize * 0.5 <= rngsize And rngsize2 + 1.5 >= rngsize Then
If rngmake2 * 0.5 <= rngmake And rngmake2 * 1.5 >= rngmake Then
Range(Cells(Selection.Row, 1), Cells(Selection.Row, 3)).Copy
rngprice2.Copy
Worksheets("Sheet4").Range("F" & x).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = xlCopy
x = x + 1
End If
End If
Next j
Next i
End Sub
私はここで考えていません。 3列目に一致するものがあるので、3列目の後にc列にあるものを複製せずに取ります。 –
今、コードはサイズとメイクと同じ行に価格をコピーしていますが、次の同じ価格をコピーします。 – Jonathan
コード内の何も列A、B、またはCのいずれかで何もしていないようです... –