kann mir jemand erklären, wie ich in VBA zwei Anweisungen ausführen lassen kann!
z.B.: If Artikel = " " then Exit Sub ???and??? Tabelle(...).cells(...) = 0
Grüße
Hakan
kann mir jemand erklären, wie ich in VBA zwei Anweisungen ausführen lassen kann!
z.B.: If Artikel = " " then Exit Sub ???and??? Tabelle(...).cells(...) = 0
Grüße
Hakan
so geht's:
If Artikel = "" Then
Tabelle(...).cells(...) = 0
Exit Sub
End if
Gruß, Yvonne
gruß
andreas e
Beispiel
Dim Merkvariable as Integer
Cells(1, 1).select
If activecell.value = "XYZ" then
Cells(1 ,2).select
Merkvariable = Activecell.value
Merkvariable = Merkvariable + 4
Cells(1, 3).select
Activecell.value = Merkvariable
end if
Hier tue ich mit einer If Anweisung sogar 3 Dinge ...
1) Prüfen ob A1 XYZ ist
2) Wenn ja den Wert aus B1 eine Variable eintragen und + 4 Addieren
3) Das in Zelle C1 eintragen
Meinst du das so oder verstehe ich dich nur falsch :))
ihr habt mich falsch verstanden oder ich habe es falsch erklärt.
Also wenn Artikel = " " dann soll, dass Programm beendet werden und wenn das Programm beendet wird, dann soll Range(A1)= 0 werden.
das müsste damit aber doch funktionieren, oder?
If Artikel = " " Then
Tabelle(...).cells(...) = 0
Exit Sub
End if
Du setzt den Wert in der Zelle erst auf 0 und verlässt dann das Makro. Und beides geschieht nur, wenn Artikel = " " ist.
Gruß, Yvonne
das hat wieder nicht geklappt, aber kannst Dir mal den Code anschauen?! Aber aufjedenfall, Danke schön !
Sub NameEintragen()
MsgBox "Es müssen alle Eingaben getätigt werden"
'Meldung
Name = InputBox("Geben Sie bitte Ihren Name ein", "Bearbeiter")
If Name = "" Then Exit Sub
Tabelle1.Cells(5, 5) = Name
Artikel = InputBox("Geben Sie bitte die Artikel bezeichnung ein", _
"Artikelbezeichnung", "Benutzer")
If Artikel = "" Then Tabelle1.Cells(5,5)= 0 Exit Sub end if
Tabelle1.Cells(6, 5) = Artikel
End Sub
wenn du nach If mehrere Anweisungen ausführen lassen möchtest, musst du nach Then und nach jeder Anweisung Enter eingeben (und mit End If abschließen).
So sollte es funktionieren:
Sub NameEintragen()
MsgBox "Es müssen alle Eingaben getätigt werden"
'Meldung
Name = InputBox("Geben Sie bitte Ihren Name ein", "Bearbeiter")
If Name = "" Then Exit Sub
Tabelle1.Cells(5, 5) = Name
Artikel = InputBox("Geben Sie bitte die Artikel bezeichnung ein", _
"Artikelbezeichnung", "Benutzer")
If Artikel = "" Then
Tabelle1.Cells(5, 5) = 0
Exit Sub
End If
Tabelle1.Cells(6, 5) = Artikel
End Sub
Gruß, Yvonne
es tut jetzt wie es sollte!
Gruß Hakan
Um in Excel VBA mehrere Anweisungen innerhalb einer If-Anweisung auszuführen, kannst du die folgende Struktur verwenden:
If Bedingung1 Then
' Anweisung 1
' Anweisung 2
' ...
End If
Ein Beispiel, wie du zwei Anweisungen mit einer If-Bedingung kombinieren kannst:
If Artikel = "" Then
Tabelle1.Cells(5, 5) = 0
Exit Sub
End If
Hier wird, falls die Bedingung Artikel = ""
erfüllt ist, zunächst der Wert in der Zelle 5,5 auf 0 gesetzt und anschließend das Makro beendet.
Ein häufiger Fehler ist, dass der Code nicht korrekt strukturiert ist. Achte darauf, dass jede Anweisung untereinander geschrieben wird und das End If
am Ende der If-Anweisung steht.
Beispiel für einen häufigen Fehler:
If Artikel = "" Then Tabelle1.Cells(5, 5) = 0 Exit Sub End If
Korrektur:
If Artikel = "" Then
Tabelle1.Cells(5, 5) = 0
Exit Sub
End If
Du kannst auch die Select Case
-Anweisung verwenden, um mehrere Bedingungen zu prüfen. Hier ein einfaches Beispiel:
Select Case Artikel
Case "A"
Tabelle1.Cells(5, 5) = 1
Case "B"
Tabelle1.Cells(5, 5) = 2
Case Else
Tabelle1.Cells(5, 5) = 0
End Select
Diese Methode kann besonders nützlich sein, wenn du viele Bedingungen hast.
Hier ist ein praktisches Beispiel, das zeigt, wie du mehrere If-Bedingungen in einer Subroutine verwenden kannst:
Sub NameEintragen()
MsgBox "Es müssen alle Eingaben getätigt werden"
Name = InputBox("Geben Sie bitte Ihren Namen ein", "Bearbeiter")
If Name = "" Then Exit Sub
Tabelle1.Cells(5, 5) = Name
Artikel = InputBox("Geben Sie bitte die Artikelbezeichnung ein", "Artikelbezeichnung", "Benutzer")
If Artikel = "" Then
Tabelle1.Cells(5, 5) = 0
Exit Sub
End If
Tabelle1.Cells(6, 5) = Artikel
End Sub
In diesem Beispiel wird zuerst überprüft, ob der Name und der Artikel eingegeben wurden. Falls nicht, wird die Subroutine vorzeitig beendet.
And
und Or
, um mehrere Bedingungen in einer If-Anweisung zu kombinieren. Beispiel: If Artikel = "" Or Menge < 1 Then
MsgBox "Artikel muss angegeben werden."
Exit Sub
End If
Nutze Debug.Print
, um bei der Fehlersuche den Wert von Variablen auszugeben.
Plane deinen Code, bevor du schreibst. Eine klare Struktur hilft, komplexe Bedingungen zu verwalten.
1. Wie kann ich mehrere If-Bedingungen kombinieren?
Du kannst mehrere Bedingungen mit And
oder Or
in einer If-Anweisung kombinieren. Beispiel: If Artikel = "" And Menge > 0 Then
.
2. Was ist der Unterschied zwischen And
und Or
?
And
erfordert, dass alle Bedingungen wahr sind, während Or
nur eine wahre Bedingung benötigt, um die gesamte If-Anweisung als wahr zu bewerten.
3. Wie kann ich eine If-Anweisung verschachteln?
Du kannst eine If-Anweisung innerhalb einer anderen If-Anweisung platzieren. Achte darauf, die Struktur klar zu gestalten, um die Lesbarkeit zu verbessern.
4. Wie gehe ich mit Fehlern in meinem VBA-Code um?
Nutze die Funktion On Error
, um Fehler zu behandeln und das Programm nicht abrupt zu beenden. Beispiel: On Error Resume Next
.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen