Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
284to288
284to288
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Mehrere Bedingungen bei VBA eine Anweisung

Mehrere Bedingungen bei VBA eine Anweisung
23.07.2003 15:08:16
Thomas
Hi,
ich sitz hier mal wieder am VBA ohne jede Kenntnisse:
Ich möchte gerne für mehrere unterschiedliche Bedingungen, die nicht gemeinsam eintreffen sollen, das gleiche Ereignis erreichen.
Bei zwei schreibe ich:
If zellen.Value = "qwe" Or zellen.Value = "wer" Then ...
Ich will aber bis zu 20 Bedingungen benutzen! Und wenn ich dann immer or schriebe wie hier:
If zellen.Value = "qwe" Or zellen.Value = "wer" Or zellen.Value = "ret" Or zellen.Value = "dfg" Or zellen.Value = "asd" Or ... ... Then ..
funzt das nich!
Wie schriebe ich so was richtig?
Dank und Gruß, Thomas

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Toll: "funzt das nich!"
23.07.2003 15:19:26
Andreas Walter
Die Fehlermeldung "funzt das nich!" hilft nicht sehr.
If zellen.Value = "qwe" Or zellen.Value = "wer" Or zellen.Value = "ret" Or zellen.Value = "dfg" Or zellen.Value = "asd" Or ... ... Then ..
sollte m.E. gehen - weiss aber nicht wo die Grenze ist.
Post mal genau was nicht funktioniert und die genaue Fehlermeldung
Alternativ
select case zellen.value
case "qwe","wer","ret" usw.

AW: Toll: "funzt das nich!"
23.07.2003 15:36:47
Thomas
Hier das Script:

Sub KillTheDaughter()
Dim Bereich, zelle
Set Bereich = Range("Source!A1:Z20000")
For Each zelle In Bereich
If zelle.Value = "CSG COMPUTER SERVICE GMBH" Or zelle.Value = "DVO DATENVERARBEITUNGS-SERVICE GMBH" Or zelle.Value = "IBB INFORMATIONSSYSTEME" Or zelle.Value = "IBM FORSCHUNGSLABORATORIUM" Or zelle.Value = "IBM KLUBRESTAURANT V. GOLTSIOS" Or zelle.Value = "IT-SERVICES AND SOLUTIONS GMBH" Or zelle.Value = "SERCON GMBH" Or zelle.Value = "SERCON SERVICE-KONZEPTE FUER" Or zelle.Value = "SERCON SERVICE -KONZEPTE FUER INFOR" Or zelle.Value = "SERCON WIESBADEN SERVICE-KONZEPTE" Then
zelle.EntireRow.Delete Shift:=xlUp
End If
Next
End Sub

Leider tötet er nur die ersten beiden (cgs und dvo), die anderen bleiben alle stehen.
Vielleicht findest du ja den Fahler.
Schönen Gruß und vielen Dank für die Anteilnahme, Thomas

Anzeige
AW: Toll: "funzt das nich!"
23.07.2003 16:07:02
Nepumuk
Hallo Thomas,
lauft einwandfrei.

Option Explicit
Sub KillTheDaughter()
Dim Bereich As Range, zelle As Range
Application.ScreenUpdating = False
Set Bereich = Range("Source!A1:Z20000")
For Each zelle In Bereich
If zelle.Value <> "" And InStr(1, "CSG COMPUTER SERVICE GMBH,DVO DATENVERARBEITUNGS-SERVICE GMBH,IBB INFORMATIONSSYSTEME,IBM FORSCHUNGSLABORATORIUM,IBM KLUBRESTAURANT V. GOLTSIOS,IT-SERVICES AND SOLUTIONS GMBH,SERCON GMBH,SERCON SERVICE-KONZEPTE FUER,SERCON SERVICE -KONZEPTE FUER INFOR,SERCON WIESBADEN SERVICE-KONZEPTE", zelle.Value) <> 0 Then
zelle.EntireRow.Delete Shift:=xlUp
End If
Next
Application.ScreenUpdating = True
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk

Anzeige
AW: Toll: "funzt das nich!"
23.07.2003 15:36:35
Nepumuk
Hallo Thomas,
alternative:
If InStr(1, "qwe,wer,ret,dfg,asd2", zellen.Value) <> 0 Then
Gruß
Nepumuk

AW: Toll: "funzt das nich!"
23.07.2003 15:44:54
Thomas
Hi Nepumuk,
vielen Dank schon mal für deinen Vorschlag,
aber wenn ich das ganze dann auf dein Format bringe, sagt er "Object required" un dich hab keine Ahnung, was er noch von mir will.
Vielen Dank und schönen Gruß Thomas

AW: Toll: "funzt das nich!"
23.07.2003 16:20:02
Andreas Walter
Hi Thomas,
hast immer noch nicht gerafft gel?
Ohne dass Du uns sagst, was Du für Quelle hast, tasten wir hier im Dunkel.
Bitte versuch genauer zu sein

300 Forumthreads zu ähnlichen Themen


Hallo liebes Forum!!
Ich stehe gerade komplett (mal wieder auf dem Schlauch)!..
Ich habe einen umfangreichen VBA-Code mit Arrays. Nun möchte ich, dass in der Spalte 3 geguckt wird, ob die Zahl 2,3,7,9,11 oder 13 in dieser Zelle steht. Ist einer dieser Zahlen vorhanden, dann soll eine Va...

Hallo,
ich habe ein blöds Problem und zwar habe ich folgendes If Abfrage in einer Forschleife in Pseudo:
Wenn A1 kleiner als A2 tu dies sonst tu das
VBA:
For i = 2 To 5 If "A" & i
Irgendwie trifft dort immer nur Else ein, ich glaube es liegt an der Bedingungsformulier...

Hallo liebe Excel - Freunde,
Wollte erstmal sagen, dass ich das Forum ganz toll finde. Hat mir als Einsteiger schon den ein oder anderen Tipp gegeben.
Nun habe ich ein spezifisches Problem, bei dem ich einfach nicht weiterkomme. Ich hoffe ihr könnte mir dabei ein bisschen helfen.
Ic...

Hallo!
Welche Möglichkeit gibt es über VBA eine Tabelle die ich zugesendet bekomme. Die Werte in Zahlen umzuwandeln. Beispiel
number name___ old__ new Change Change %
500041 system 23.26 23.28 -0.71 -2.45% #WERT!
540014 cpu 69.95 69.99 -0.22 -0.31% #WERT! =F...

Hallo zusammen, kann mir jemand sagen, wie ich die formel richtig aufbauen muß:
Aufgabenstellung: Addiere alle Zahlen aus dem Bereich A1:A100, welche entweder =123 sind? Habe es mit Sumif versucht, scheitere aber an der 2ten Bedingung.
Danke für eure Hilfe!
Lg, Heinz

Hi VBA-Könner/Kenner,
vielleicht bekomme ich bei Euch die nötige Anregung zu folg. Problem:
Im Arbeitsspeicher geöffnet sind die Workbooks "A" und "B".
Von "A" aus soll eine Sub xyz in "B" aufgerufen werden (Call xyz).
Es erscheint der Fehler: Sub nicht definiert oder ähnlich...
Anzeige

Infobox zum Thema

EXCEL - VBA: Select Case zur Fallunterscheidung


Inhaltsverzeichnis


Problemdefinition

Ein Benutzer sucht nach einer VBA-Lösung, um für bis zu 20 unterschiedliche Bedingungen, die nicht gemeinsam eintreffen sollen, das gleiche Ereignis auszulösen.


Lösung des Problems mit VBA

Du kannst eine Select Case-Anweisung verwenden, um mehrere Bedingungen zu prüfen und das gleiche Ereignis auszulösen, wenn eine der Bedingungen erfüllt ist. Die Select Case-Anweisung ermöglicht es dir, eine Variable zu prüfen und verschiedene Aktionen auszuführen, abhängig vom Wert der Variable.


Anwendungsbeispiel aus der Praxis

Hier ist ein Beispiel für ein VBA-Makro, das eine Select Case-Anweisung verwendet, um verschiedene Bedingungen zu prüfen und das gleiche Ereignis auszulösen, wenn eine der Bedingungen erfüllt ist:

Sub CheckConditionsAndTriggerEvent()
    Dim condition As Integer

    ' Setze die Bedingung auf einen Wert
    condition = 5

    ' Überprüfe die Bedingung
    Select Case condition
        Case 1, 3, 5, 7, 9, 11, 13, 15, 17, 19
            ' Führe das Ereignis aus
            Call TriggerEvent
        Case Else
            ' Tue nichts
    End Select
End Sub

Sub TriggerEvent()
    ' Das Ereignis
    MsgBox "Das Ereignis wurde ausgelöst!"
End Sub

In diesem Beispiel wird das Ereignis TriggerEvent ausgelöst, wenn die condition eine ungerade Zahl ist.


Tipps

  • Du kannst die Select Case-Anweisung verwenden, um mehrere Bedingungen zu prüfen und verschiedene Aktionen auszuführen, abhängig vom Wert der Variable.
  • Du kannst so viele Case-Anweisungen hinzufügen, wie du benötigst.

Zusammenfassung

Die Select Case-Anweisung in VBA kann verwendet werden, um mehrere Bedingungen zu prüfen und das gleiche Ereignis auszulösen, wenn eine der Bedingungen erfüllt ist. In dem obigen Beispiel wird das Ereignis TriggerEvent ausgelöst, wenn die condition eine ungerade Zahl ist. Du kannst die Select Case-Anweisung an deine spezifischen Anforderungen anpassen, indem du die Case-Anweisungen und die Aktionen änderst, die ausgeführt werden sollen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige