Mit VBA "S-Verweis" zusätzliche If-Bedingung einfügen
14.08.2025 10:17:57
Andreas
ich bastle an einer Prüfabfrage und möchte eine weitere Bedingung einfügen, die sich auf ein anderes Tabellenblatt bezieht. Im Moment sieht mein Code wie folgt aus:
For j = 1 To 197
For i = 6 To 400
If Worksheets("Bericht1").Cells(i, 30) = "" Then
If InStr(1, Worksheets("Bericht1").Cells(i, 3), Worksheets("Firmenstammdaten").Cells(j, 3).Value, vbTextCompare) Then
Worksheets("Bericht1").Cells(i, 30).Value = Worksheets("Firmenstammdaten").Cells(j, 2).Value
Worksheets("Bericht1").Cells(i, 31).Value = "3"
End If
End If
Next i
Next j
So weit so gut. Der Code macht erstmal das was ich erwarte.
Ich habe eine weiteres Tabellenblatt "FirmenstammdatenIDanzahl". Dieses besteht aus 3 Spalten: A: Firmen-ID, B: Firmen-Name, C: Zählwert (Wie oft die Firmen-ID im Tabellenblatt "Bericht 1) vorkommt.
Ich möchte den o.g. Code nur nach folgender zusätzlicher Prüfbedingung für den i-Schritt ausführen lassen:
Wenn die Firmen-ID in Worksheets("Bericht1").Cells(i, 2) kleiner als 4 mal im Worksheet("FirmenstammdatenIDanzahl"), Spalte C vorkommt.
Andernfalls soll für den i-Schritt nichts unternommen werden (Zelle i, 30 und i,31 sollen leer bleiben).
Ich denke es ist eine weitere Bedingung zum schon bestehenden Prüfung If Worksheets("Bericht1").Cells(i, 30) = ""
Ich komm mit nicht damit zurecht, wie ich mit so einem Art S-Verweis die zusätzliche Bedingung formulieren soll.
Erst einmal vielen Dank, dass Du bis hierhin gelesen hast und Dich offensichtlich durch meine chaotischen Gedanken gekämpft hast. Ich hoffe die Beschreibung ist nachvollziehbar.
Ich würde mich ganz sehr über einen Lösungsansatz freuen. Diese Prüfbedingung ist der letzte Schritt, um meinen für mich ansonsten doch komplexen (und nur mit Hilfe in diesem Forum überhaupt entstandenen) Gesamt-Code zu vervollständigen.
Ich danke ganz sehr für Euer Engagement und die uneigennützige Unterstützung von Euch in diesem Forum.
Viele Grüße
Andreas
Anzeige