ChatGPT Case 2 – DE

(Maschinell übersetzt) Das untenstehende Skript sollte geplante Überweisungen mit den tatsächlich ausgeführten, aus dem Online-Banking abgerufenen Überweisungen vergleichen. Ziel war es, mögliche Fehler, Duplikate und geplante aber nicht ausgeführte Überweisungen zu erkennen. Die Erstellung mit meinem neuen Freund, ChatGPT, dauerte etwa drei Stunden. Das Ergebnis – es funktioniert genau so, wie ich es wollte und minimiert die Wahrscheinlichkeit, kostspielige Fehler zu übersehen. Das manuelle Überprüfen der Überweisungen, eine mühsame und wiederholende Aufgabe, hat mich bisher immer etwa 2-3 Stunden gekostet (während ich mehrmals eingeschlafen bin :)). Der Gewinn ist also mehr als messbar.

Originalanfrage: Ich benötige ein Skript zum Durchsuchen von Zeichenketten in Excel. Durchsuche den Bereich Spalte P bis zur Zeile, die den String STOP in Arkusz1 enthält, vergleiche Spalte T bis zur Zeile mit dem Schlüsselwort STOP in Arkusz2. Hebe nicht leere Zellen in Arkusz1 Spalte P hervor, deren Werte keine Entsprechungen im Bereich Spalte T Arkusz2 haben, und wenn in der entsprechenden Zeile in Arkusz1 Spalte M nicht das Schlüsselwort O bis zur Zeile vorhanden ist, die den String STOP in Arkusz2 enthält. Ignoriere leere Zellenwerte in Arkusz1 Spalte P und ignoriere leere Zellen in Arkusz 2 Spalte T.

Natürlich wurden während der Verfeinerung des Skripts Änderungen an dieser Anfrage vorgenommen. Ich versuchte nicht im Stil „aber anstelle von Spalte T brauche ich Spalte P“ zu schreiben, sondern machte Korrekturen an der Originalanfrage und stellte die gleiche „bereits korrigierte“ Frage erneut. Bei einfachen Aufgaben ist dies effektiver.

Ergebnis:

Unten ist das VBA-Skript, das Ihren Anforderungen entsprechen sollte:

Sub FindAndHighlight()

Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim rng1 As Range
Dim rng2 As Range
Dim cell1 As Range
Dim cell2 As Range
Dim flag As Boolean
Dim stopRow1 As Integer
Dim stopRow2 As Integer

‚Ustalamy arkusze
Set ws1 = ThisWorkbook.Sheets(„Arkusz1“)
Set ws2 = ThisWorkbook.Sheets(„Arkusz2“)

‚Znajdujemy wiersz ze słowem kluczowym STOP w Arkusz1 i Arkusz2
For Each cell1 In ws1.Columns(„P“).Cells
If cell1.Value = „STOP“ Then
stopRow1 = cell1.Row
Exit For
End If
Next cell1

For Each cell2 In ws2.Columns(„T“).Cells
If cell2.Value = „STOP“ Then
stopRow2 = cell2.Row
Exit For
End If
Next cell2

‚Ustalamy zakres
Set rng1 = ws1.Range(„P1:P“ & stopRow1)
Set rng2 = ws2.Range(„T1:T“ & stopRow2)

‚Porównujemy wartości
For Each cell1 In rng1
If cell1.Value <> „“ And ws1.Range(„M“ & cell1.Row).Value <> „O“ Then
flag = False
For Each cell2 In rng2
If cell1.Value = cell2.Value Then
flag = True
Exit For
End If
Next cell2
If flag = False Then
cell1.Interior.Color = RGB(255, 255, 0) ‚Podświetlenie na żółto
End If
End If
Next cell1

For Each cell2 In rng2
If cell2.Value <> „“ Then
flag = False
For Each cell1 In rng1
If cell2.Value = cell1.Value Then
flag = True
Exit For
End If
Next cell1
If flag = True Then
ws2.Rows(cell2.Row).EntireRow.Interior.Color = RGB(255, 255, 0) ‚Podświetlenie całego wiersza na żółto
End If
End If
Next cell2

End Sub

Dieses Skript beginnt mit der Suche nach der Zeile, die das Wort „STOP“ in den Spalten „P“ von Arkusz1 und „T“ von Arkusz2 enthält. Anschließend vergleicht es die Werte in diesen Bereichen. Wenn eine Zelle in der Spalte „P“ von Arkusz1 kein Äquivalent in der Spalte „T“ von Arkusz2 hat, und wenn die entsprechende Zeile in der Spalte „M“ von Arkusz1 nicht das Wort „O“ enthält, wird diese Zelle in Gelb hervorgehoben. Ebenso wird, wenn eine Zelle in der Spalte „T“ von Arkusz2 ein Äquivalent in der Spalte „P“ von Arkusz1 hat, die gesamte Zeile, die diese Zelle enthält, in Gelb hervorgehoben.

Skontaktuj się z nami

Chcesz dowiedzieć się więcej? Zadzwoń lub wypełnij formularz kontaktowy.

+48 516 125 484