Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1716to1720
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Case Liste von Werten aus Tabellenblatt laden

VBA Case Liste von Werten aus Tabellenblatt laden
25.10.2019 11:45:59
Werten
Hallo zusammen,
ich habe ein Makro gebaut, welches gut funktioniert. Dabei werden aber über eine Case-Anweisung verschiedene Werte verglichen, z.B.:
Select Case Range("B" & i).Value
'Materialnummer in RM-Liste
Case "RM628797", "RM628831", "RM628847", "RM628860", "RM628861", "RM628862", _
"RM630448", "RM632167"
Range("E" & i).Value = "RM"
'Materialnummer in SF-Liste
Case "1000102342", "1000102344", "1000103661", "1000103662", "1000103663", "1000103668", _
"1000103671", "1000104500", "1000104501", "1000104502", "1000104529"
Range("E" & i).Value = "SF"
'Materialnummer nicht in Listen
Case Else: Rows(i).Delete Shift:=xlUp
End Select

(Vereinfachte Listen, in meinem Makro sind es viel mehr Werte).
Jetzt muss ich ja jedesmal wenn ein Wert hinzukommt das Makro entsprechend ändern.
Daher meine Frage:
Kann ich (wenn ja, wie?) die Werte, welche die Case-Anweisung prüft aus einem Tabellenblatt-Bereich auslesen?
Z.b. schreibe ich dann die gültigen Werte für die erste Case-Prüfung in "Tabelle 3" Zelle A1 bis A119 (da stehen dann die RM-Werte) und die Werte für die zweite Prüfung in "Tabelle 3" B1 bis B77 (da stehen dann die 100... SF-Werte).
Also dass die Case Anweisung sozusagen das folgende macht
'Case Werte aus Tabelle3.A1:A119
Range("E" & i).Value = "RM"
Case Werte aus Tabelle3.B1:B77
Range("E" & i).Value = "SF"

Nur das eben in VBA korrekt formuliert :-)
Vielen Dank für Eure Hilfe.

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Case Liste von Werten aus Tabellenblatt laden
25.10.2019 12:06:34
Werten
Hallo Bastian,
teste mal.
Select Case True
    Case Application.CountIf(Range("A1:A119"), Range("B" & i).Value) = 1
        Range("E" & i).Value = "RM"
    Case Application.CountIf(Range("B1:B77"), Range("B" & i).Value) = 1
        Range("E" & i).Value = "SF"
    Case Else
        Rows(i).Delete Shift:=xlUp
End Select

Gruß
Nepumuk
Anzeige
AW: VBA Case Liste von Werten aus Tabellenblatt laden
25.10.2019 14:05:02
Werten
Klappt super!!
Vielen Dank für die schnelle Hilfe.

Jetzt muss ich das nur noch Umsetzen (Quelldatei aufbauen, im Makro auf diese zugreifen, etc.), aber dafür habe ich eine Vorlage in der ich das schonmal gemacht habe.

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige