複数の条件に基づいて行検索をコード化しようとしていますが、その条件に一致する行がコピーされます。以下の例。複数の列条件に基づいたVBAコピー行
1 2 3
B C D
B D C
C B D
C D B
D B C
D C B
私は最初の列の基準に基づいて動作するコードを書いています。私が必要とするのは、どの列または列の数が基準値を持っていようと、コードが機能できることです。 (たとえば、列1の基準がBで、3がCの場合はBDCのみがコピーされ、列3の基準がDの場合はBCDとCBDの両方がコピーされます)現在の記述コードにはこの基準がありませんが、以下。
Private Sub listgen()
Sheets("Segments").Activate
Dim a As Long
Dim b As Long
Dim c As Long 'columns
Dim d As Long
Dim e As Long
Dim r As Long 'rows
Dim tr As Long 'total rows
r = 3
a = 1
c = 3
tr = Sheets("Trips").Cells(Rows.Count, a).End(xlUp).Row
e = c + a
Do
d = a
b = 8
If Sheets("Trips").Cells(r, d).Value = Range("E2") Then
Do
Sheets("Trips").Cells(r, d).Copy Destination:=Sheets("Segments").Cells(r, b)
d = d + 1
b = b + 1
Loop Until d = e
End If
r = r + 1
Loop Until r = tr
End Sub
[ようこそ](http://stackoverflow.com/help/how-to-ask)をお読みください。あなたが書いたように、あなたが私たちにして欲しいのは、あなたのためのコードであるリファクタリングだけです。あなたは、あなたが望む仕事を達成するために行った試み、そしてそれが機能していないところ、あなたがその要件に合っていないコードを表示しません。 –