Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Größer Kleiner VBA

Größer Kleiner VBA
23.08.2018 13:02:28
Micha
Hallo Kollegen,
irgendwie sitze ich gerade auf dem Schlauch...
ich möchte, dass wenn das Ergebnis in einer Zelle x=0 (4,5) ist die alte Zeit, (5,5) die neue.
.Cells(5, 5) = Format(Now, "hh:mm")
If Abs((Cells(5, 5) - Cells(4, 4)) * 1440) = 0 & "
Kann mich jemand vom Schlauch schupsen? :D
Danke für eure Hilfe.
Grüße
Micha
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Größer Kleiner VBA
23.08.2018 13:30:24
Robert
Hallo,
das verstehe ich nicht ganz. Wenn der erste Teil Deines Ausdrucks (also x=0) wahr ist, ist x auch <=5. Insofern brauchst Du den zweiten Teil gar nicht.
Eine Verkettung wie in Deinem Beispiel kann nicht funktionieren. Excel geht bei Deinem Ausdruck der Reihe nach. Excel prüft also zuerst den Ausdruck Abs((Cells(5, 5) - Cells(4, 4)) * 1440) = 0. Je nachdem ob dabei TRUE oder FALSE (also Wahr oder Falsch) raus kommt wird mit diesem Wahrheitswert dann weiter gerechnet. Mit dem zweiten Teil Deines Ausdruckes & "<= 5" fügst Du dem Wahrheitswert den String "<= 5" an. Als Ausdruck ergibt dies entweder den String TRUE<=5 oder oder den String FALSE<=5 aber keinen Wahrheitswert. Eine IF-Bedingung muss aber TRUE oder FALSE (bzw. WAHR oder FALSCH) ergeben, mit allen anderen Ergebnissen kann Excel nichts anfangen.
Gruß
Robert
Anzeige
AW: Größer Kleiner VBA
23.08.2018 13:42:50
Micha
Hallo Robert,
danke für deine schnelle Antwort.
Wie beschreibe ich dann einen Intervall, der zwischen 0 und 5 liegen darf? Mit einem "Oder"?
Wie würde das aussehen, wenn negative Zahlen auch in Ordnung sind?
Danke nochmals.
Grüße
Micha
AW: Größer Kleiner VBA
23.08.2018 13:58:39
Robert
Hallo Micha,
wenn der Wert, nennen wir ihn hier x, zwischen 0 und 5 liegen darf, schreibst Du
If (x >= 0) And (x <= 5) Then ... .
Wenn negative Zahlen auch in Ordnung sind, muss man dann doch nur prüfen, ob x kleiner/gleich 5 ist, also
If x <= 5 Then ....
Gruß
Robert
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Größer Kleiner in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  2. Einfügen eines Moduls: Klicke mit der rechten Maustaste auf dein Projekt im Projektfenster, wähle Einfügen > Modul.

  3. Code eingeben: Füge den folgenden Code in das Modul ein, um eine einfache IF-Abfrage für "größer oder kleiner" zu erstellen:

    Sub Beispiel()
        Dim x As Double
        x = Cells(4, 4).Value
    
        If (x >= 0) And (x <= 5) Then
            Cells(5, 5).Value = Format(Now, "hh:mm")
        End If
    End Sub
  4. Code ausführen: Schließe den VBA-Editor und führe das Makro aus, um zu testen, ob der Wert in der Zelle korrekt gesetzt wird.


Häufige Fehler und Lösungen

  • Fehler bei der IF-Bedingung: Wenn du versuchst, einen Ausdruck wie If Abs((Cells(5, 5) - Cells(4, 4)) * 1440) = 0 & "<= 5" zu verwenden, wird es nicht funktionieren, da Excel nicht mit einer Verkettung von Wahrheitswerten umgehen kann. Stelle sicher, dass deine IF-Bedingung nur TRUE oder FALSE zurückgibt.

  • Falscher Datenbereich: Achte darauf, dass du die Zellen korrekt referenzierst. Beispielsweise könnte der Fehler entstehen, wenn du versuchst, auf Zellen zuzugreifen, die leer sind oder nicht den erwarteten Datentyp haben.


Alternative Methoden

  • Verwendung von Select Case: Eine alternative Möglichkeit, um Werte zu überprüfen, ist die Verwendung von Select Case. Hier ein Beispiel:

    Select Case x
        Case Is < 0
            ' Code für negative Zahlen
        Case 0 To 5
            ' Code für Werte zwischen 0 und 5
        Case Else
            ' Code für Werte größer als 5
    End Select
  • Bedingte Formatierung: Du kannst in Excel auch die bedingte Formatierung nutzen, um Zellen hervorzuheben, die bestimmte Bedingungen erfüllen, ohne VBA zu verwenden.


Praktische Beispiele

  1. Ein Intervall prüfen: Wenn du sicherstellen möchtest, dass ein Wert zwischen 0 und 5 liegt, kannst du die folgende IF-Bedingung verwenden:

    If (x >= 0) And (x <= 5) Then
        ' Mach etwas
    End If
  2. Negative Zahlen berücksichtigen: Um auch negative Zahlen zuzulassen, reicht es, nur auf die obere Grenze zu prüfen:

    If x <= 5 Then
        ' Mach etwas
    End If

Tipps für Profis

  • Fehlerbehandlung: Implementiere Fehlerbehandlung in deinen VBA-Skripten, um unerwartete Fehler zu vermeiden. Verwende On Error Resume Next oder On Error GoTo Fehlerbehandlung für mehr Kontrolle.

  • Verwendung von Variablen: Achte darauf, Variablen zu deklarieren und den Datentyp richtig festzulegen. Dies hilft, Fehler zu reduzieren und den Code effizienter zu gestalten.

  • Dokumentation: Kommentiere deinen Code, um die Logik für andere (oder für dich selbst in der Zukunft) verständlich zu machen.


FAQ: Häufige Fragen

1. Wie kann ich negative Zahlen in meiner IF-Bedingung berücksichtigen?
Du kannst einfach prüfen, ob der Wert kleiner oder gleich 5 ist, ohne eine untere Grenze zu setzen:

If x <= 5 Then
    ' Code ausführen
End If

2. Was ist der Unterschied zwischen >= und <=?
>= prüft, ob der Wert größer oder gleich ist, während <= prüft, ob der Wert kleiner oder gleich ist. Beide Operatoren sind wichtig, um die richtigen Bedingungen in deinen IF-Anweisungen festzulegen.

3. Wie kann ich mehrere Bedingungen in einer IF-Anweisung kombinieren?
Du kannst And oder Or verwenden, um mehrere Bedingungen zu kombinieren, wie in diesem Beispiel:

If (x >= 0) And (x <= 5) Then
    ' Code ausführen
End If

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige