Der Einsatz von Formeln in der VBA-Umgebung kann bspw. dann Sinn machen, wenn eine Zelle zeitgleich ein Eingabefeld ist sowie eine Berechnung. Wenn “Zelle A1” = “Manuelle Eingabe” Dann “Eingabefeld” Sonst “Automatische Berechnung” In diesem Excel-Tutorial Video bilden wir die Wenn-Funktion von Excel in einem Makro ab. Wenn
Sie bereits mit Formeln in Excel umgehen können und den nächsten Schritt wagen möchten, ist dieses Video eine gute Möglichkeit, um ein erstes Makro (VBA) zu schreiben. exact construct GmbH / 26. September 2014
Wenn Sie regelmässig mit Excel arbeiten, werden Sie vermutlich sich bereits bestens mit Formeln auskennen. Nun besteht nicht nur die Möglichkeit die Formeln in Ihrem Arbeitsblatt zu erfassen, die Formeln stehen Ihnen auch in der
VBA-Umgebung zur Verfügung.Beispiel:
Herbers Excel-Forum - das Archiv
Wenn, Dann, Sonst mit VBA | Herbers Excel-Forum
- Wenn, Dann, Sonst mit VBA von Matze vom 27.11.2011 15:16:42
- AW: Wenn, Dann, Sonst mit VBA - von
Hajo_Zi am 27.11.2011 15:26:06
- THX Hajo,....doch soo einfach... - von Matze am 27.11.2011 15:30:08
- THX Hajo,....doch soo einfach... - von Matze am 27.11.2011 15:30:08
- AW: Wenn, Dann, Sonst mit VBA - von JoWe am 27.11.2011 15:33:22
- ebenfalls Danke Jochen... - von Matze am 27.11.2011 15:38:57
- AW: ebenfalls Danke Jochen... - von Hajo_Zi am 27.11.2011 15:41:24
- AW: ebenfalls Danke Jochen... - von Hajo_Zi am 27.11.2011 15:41:24
- ebenfalls Danke Jochen... - von Matze am 27.11.2011 15:38:57
Betrifft: Wenn, Dann, Sonst
mit VBA
von: Matze
Geschrieben am: 27.11.2011 15:16:42
Hallo zusammen,
ben�tige kurze Hilfe, habe mir das so vorgestellt ,komme aber nicht auf die Richtige L�sung:
If Range("A46").Value > 0
Then
Sheets("Datenbank").Cells(i, 10) = Sheets("Rechnung").Cells(68, 6) 'Netto
Sheets("Datenbank").Cells(i, 11) = Sheets("Rechnung").Cells(69, 6) 'MwSt
Sheets("Datenbank").Cells(i, 12) = Sheets("Rechnung").Cells(70, 6) 'Brutto
Else
Sheets("Datenbank").Cells(i, 10) = Sheets("Rechnung").Cells(32, 6) 'Netto
Sheets("Datenbank").Cells(i, 11) = Sheets("Rechnung").Cells(34, 6) 'MwSt
Sheets("Datenbank").Cells(i, 12) = Sheets("Rechnung").Cells(35, 6) 'Brutto
Danke im Vorraus f�r Eure M�he,
Matze
Betrifft: AW: Wenn, Dann, Sonst mit VBA
von: Hajo_Zi
Geschrieben am: 27.11.2011 15:26:06
Hallo Matze,
der Code ist fast korrekt, das Thern geh�rt hinter 0 und es fehlt End
If
Betrifft: THX Hajo,....doch soo einfach...
von: Matze
Geschrieben am: 27.11.2011 15:30:08
Thanks - closed!
Betrifft: AW: Wenn, Dann, Sonst mit VBA
von: JoWe
Geschrieben am: 27.11.2011 15:33:22
Deine Vorstellung entspricht doch bereits ann�hernd 100% der L�sung:
Gru�
Jochen
Betrifft: ebenfalls Danke Jochen...
von: Matze
Geschrieben am: 27.11.2011 15:38:57
aber ich hatte etwas abgek�rzt....die vorrangegane Zeile war schon da....
Dim i As Integer
i = Sheets("Datenbank").Cells(Cells.Rows.Count, 1).End(xlUp).Row + 1
If i < 4 Then i = 4
es lag am " THEN" ... ich hatte mit einer neuen Zeile begonnen....b�ses Faul.
Matze
Betrifft: AW: ebenfalls Danke
Jochen...
von: Hajo_Zi
Geschrieben am: 27.11.2011 15:41:24
Halllo Matze,
die Zeile zur Ermittlung der letzten Zeile liefert ein falsches Ergebnis falls die letzte Zelle in der Spalte belegt ist.
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
Gru� Hajo
Excel VBA Befehle Folge 13: If Then Else Verzweigungen
Inhalt dieser Folge:
Wie kann ich Einträge in meinem Tabellenblatt automatisch auswerten?
Wie kann ich mehrere Operationen für meine If Then Else Verzweigung realisieren?
Wie lässt sich eine If Then Else Verzweigung mit einer For Next Schleife kombinieren?
Beispiel 1: Verzweigungen mit zwei Optionen
Sub Beispiel1()
If Cells(2, 1).Value < 5 Then
'Wenn der Eintrag in Zelle A2 kleiner 5 ist
Cells(2, 2).Value = "Bestanden" Else
'Wenn der Eintrag in Zelle A2 nicht größer 5 ist
Cells(2, 2).Value = "Nicht bestanden" End If
End Sub
Beispiel 2: Verzweigungen mit drei OptionenSub Beispiel2()
If Cells(4, 1).Value = 4.3 Then
'Wenn der Eintrag in Zelle A4 gleich 4,3 ist
Cells(4, 2).Value = "Mündl. Nachprüfung"
ElseIf Cells(4, 1).Value < 5 Then
'Wenn der Eintrag in Zelle A4 kleiner 5 ist
Cells(4, 2).Value = "Bestanden"
Else
'Wenn der Eintrag in Zelle A4 nicht größer 5 ist
Cells(4, 2).Value = "Nicht bestanden"
End If
End Sub
Beispiel 3: If-Then-Else-Verzweigung mit For-Schleife kombinierenSub Beispiel3()
Dim i As Integer
For i = 2 To 10
If Cells(i, 1).Value = 4.3 Then
'Wenn der Eintrag in Zelle A4 gleich 4,3 ist
Cells(i, 2).Value = "Mündl. Nachprüfung"
Cells(i, 2).Interior.ColorIndex = 6
ElseIf Cells(i, 1).Value < 5 Then
'Wenn der Eintrag in Zelle A4 kleiner 5 ist
Cells(i, 2).Value = "Bestanden"
Cells(i, 2).Interior.ColorIndex = 4
Else
'Wenn der Eintrag in Zelle A4 nicht größer 5 ist
Cells(i, 2).Value = "Nicht bestanden"
Cells(i, 2).Interior.ColorIndex = 3
End If
Next
End Sub
Folge 13 / 33 Alle Folgen der VideoReihe auf einen BlickFolge 01 Arbeitsmappen und Tabellenblätter ansprechen, sortieren, ...
Folge 02 Zellen ansprechen
Folge 03 Meldeboxen, MsgBox (PopUpFenster)
Folge 04 Schrifteinstellungen (Fett, Kursiv, Schriftart, Schriftfarbe, Schriftgröße, ...)
Folge 05 Variablen & Datentypen in VBA
Folge 06 Arrays / Datenfelder in VBA
Folge 07 For Next - Schleifen in VBA
Folge 08 Dynamische Arrays
Folge 09 Rechenoperationen
Folge 10 Vergleichsoperatoren
Folge 11 Logische Operatoren
Folge 12 SuchFunktion (Einträge & Begriffe in Zellen suchen)
Folge 13 If Then Else - Verzweigungen in VBA
Folge 14 Do While Loop - Schleifen in VBA
Folge 15 Endlosschleifen verhindern
Folge 16 Die SortierFunktion (sortieren, nach mehreren Kriterien)
Folge 17 Select Case - Verzweigungen in VBA
Folge 18 InputBox (gestalten und Eingaben verwenden)
Folge 19 For Each - Schleifen in VBA
Folge 20 Borders-Eigenschaften (Dynamisches Tabellendesign erstellen)
Folge 21 Laufzeitfehler & Syntaxfehler - finden und beheben
Folge 22 On Error GoTo - Laufzeitfehler abfangen
Folge 23 Alle Farben in VBA nutzen (ColorIndex, vb Color, RGB)
Folge 24 Zeichen ersetzen mit der REPLACE Funktion
Folge 25 Zeichen trennen mit der SPLIT Funktion
Folge 26 Zeichen verbinden mit der JOIN Funktion
Folge 27 Auszug aus einer Zeichenkette - LEFT, RIGHT, MID Funktion
Folge 28 Zeichenketten vergleichen mit UCase & LCase
Folge 29 Arbeitsmappen Ereignisse (Open, BeforeClose, BeforeSave)
Folge 30 Tabellenblatt Ereignisse (Change, BeforeDoubleClick)
Folge 31 Zeilen und Spalten fixieren (FreezePanes)
Folge 32 Kommentare einfügen mit VBA (AddComment)
Folge 33 Zellen verbinden & Warnmeldungen ignorieren