Ermitteln, Ausschneiden und Einfügen einer Zeile, die dem Wert von Soll und Haben in VBA Excel entspricht
Ich habe die folgenden Satzdaten in Sheet1 und beginne mit Zeile 4, Spalte A, wo die Überschrift in Zeile 3 steht:
No Date Code Name Remarks D e b i t Cr e d i t
1 4/30/2015 004/AB/01/04/15 Anna YES 40239.66 0.00
2 2/16/2015 028/AA/01/02/15 Andy NO 0.00 2205.49
3 1/31/2015 021/DR/04/01/15 Jim YES 167.60 0.00
4 7/14/2015 083/RF/01/07/15 Anna YES 3822.60 0.00
5 8/6/2015 030/AB/01/08/15 Anna NO 0.00 11267.96
6 1/15/2015 020/TY/01/01/15 Barry 0.00 5237.84
7 7/14/2015 024/HU/01/07/15 Anna NO 0.00 3822.60
8 1/31/2015 039/JK/01/01/15 YES 0.00 1780.84
9 1/27/2015 007/ER/01/01/15 Jim NO 5237.84 0.00
10 4/29/2015 077/FX/01/04/15 Barry NO 0.00 40239.66
11 1/3/2015 001/OX/10/01/15 Andy NO 33074.03 0.00
12 8/10/2015 001/PR/01/08/15 Nicholas 11267.96 0.00
13 10/31/2015 007/TX/09/10/15 Jim 1780.84 0.00
14 2/28/2015 071/QR/01/02/15 Andy YES 2205.49 0.00
15 1/7/2015 007/OM/02/01/15 Nicholas 8873.25 0.00
Und ich muss die Daten oben anordnenauf dem gleichen Blatt basierend auf dem Wert von Lastschrift und Gutschrift in keiner bestimmten Reihenfolge, solange die Werte von Lastschrift und Gutschrift:x undy gefolgt von den Werten von Soll und Haben:y undx (vorzugsweisex> y) wo die nicht übereinstimmenden Daten im unteren Bereich der Tabelle abgelegt werden. Zum Beispieletwas wie da :
No Date Code Name Remarks D e b i t Cr e d i t
14 2/28/2015 071/QR/01/02/15 Andy YES 2205.49 0.00
2 2/16/2015 028/AA/01/02/15 Andy NO 0.00 2205.49
4 7/14/2015 083/RF/01/07/15 Anna YES 3822.60 0.00
7 7/14/2015 024/HU/01/07/15 Anna NO 0.00 3822.60
12 8/10/2015 001/PR/01/08/15 Nicholas 11267.96 0.00
5 8/6/2015 030/AB/01/08/15 Anna NO 0.00 11267.96
9 1/27/2015 007/ER/01/01/15 Jim NO 5237.84 0.00
6 1/15/2015 020/TY/01/01/15 Barry 0.00 5237.84
13 10/31/2015 007/TX/09/10/15 Jim 1780.84 0.00
8 1/31/2015 039/JK/01/01/15 YES 0.00 1780.84
1 4/30/2015 004/AB/01/04/15 Anna YES 40239.66 0.00
10 4/29/2015 077/FX/01/04/15 Barry NO 0.00 40239.66
11 1/3/2015 001/OX/10/01/15 Andy NO 33074.03 0.00
15 1/7/2015 007/OM/02/01/15 Nicholas 8873.25 0.00
3 1/31/2015 021/DR/04/01/15 Jim YES 167.60 0.00
Ehrlich gesagt, ich konnte mir nicht den richtigen Code einfallen lassen, und das macht mich wirklich verrückt. Dies ist einer meiner fehlgeschlagenen Versuche, ich habe so etwas versucht
Sub MatchingDebitAndCredit()
Dim i As Long, j As Long, Last_Row As Long
Last_Row = Cells(Rows.Count, "F").End(xlUp).Row
For i = 4 To Last_Row
For j = 4 To Last_Row
If Cells(i, "F").Value = Cells(j, "G").Value And Cells(i, "G").Value = Cells(j, "F").Value Then
Rows(i).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)
Rows(j).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)
Exit For
End If
Next j
Next i
End Sub
Ich habe die übereinstimmenden Daten in Sheet2 kopiert, da ich nicht in der Lage war, dasselbe Sheet zu erstellen, aber es ist fehlgeschlagen. Nach Abschluss des Programms wurde in Sheet2 nichts zurückgegeben. Ich beabsichtige dies mit Arrays und der Suchfunktion zu tun, da die Größe des Datensatzes sehr groß ist, aber wie kann ich das tun, wenn die Verwendung eines Arbeitsblatts dies nicht kann? Könnte mir hier jemand helfen, bitte?