Die Sprache ist Vísual Basic.
Hier mal ein Mini Makro, daß Fachleute kürzer und einfacher hinbekommen würden. Hat nichts mit dem Thema zu tun, aber nur mal so um den Aufbau zu sehen (Visual Basic Editor).
Dieses Makro macht nichts anderes als zwei Preisspalten miteinander abzugleichen und Meldungen in eine neue Spalte auszugeben ob der Preis zu stark abweicht, etc.
Du gibst zum Start nur Sub und einen Namen für das Makro an. End Sub erscheint automatisch. Dazwischen schreibst Du ähnlich zum früheren Basic Deine Schleifen, etc.
Sub Preis_und_ME_Vergleich()
r = ActiveCell.Row 'r = Zeilenposition des Cursors
s = ActiveCell.Column 's = Spaltenposition des Cursors
sn = ActiveSheet.Name 'sn = Name der aktuellen Tabelle
en = Sheets(sn).Range("A65536").End(xlUp).Row 'en = letzte beschriebene Zeile
If Cells(r, s).Value "EK Neu" Then MsgBox "Cursor nicht auf Spaltenüberschrift EK Neu": Exit Sub
For i = 1 To en - 1
For colindex = 3 To 3
inh1 = Cells(r + i, s).Value 'Inhalt der Spalte EK Neu
inh2 = Cells(r + i, s - 1).Value 'Inhalt der Spalte links von EK Neu
inh3 = Cells(r + i, s + 2).Value 'Inhalt der Spalte Bas-ME
inh4 = Cells(r + i, s + 3).Value 'Inhalt der Spalte Lief-ME
If inh1 = inh2 Then b = "Identisch zu vorher": GoTo auswertung Else
If inh1 = 0 Then b = "Auswerten! Preis fehlt": GoTo auswertung Else
If (inh2 / 100) * 20 20%": GoTo auswertung Else b = "Preis innerhalb 20%": GoTo auswertung
b = "Auswerten! Preisabweichung > 20%"
Next colindex
auswertung:
Cells(r + i, s + 1) = b
Next i
For i = 1 To en - 1
For colindex = 6 To 6
inh3 = Cells(r + i, s + 2).Value 'Inhalt der Spalte Bas-ME
inh4 = Cells(r + i, s + 3).Value 'Inhalt der Spalte Lief-ME
If inh3 = inh4 Then m = "ME OK": GoTo auswertungME
If inh3 inh4 Then m = "Lief-ME weicht von Bas-ME ab": GoTo auswertungME
m = "Lief-ME weicht ab"
Next colindex
auswertungME:
Cells(r + i, s + 4) = m
Next i
End Sub