Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
284to288
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
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

Anzeige
Anzeige
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