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

Bedingung If Range("").value..

Forumthread: Bedingung If Range("").value..

Bedingung If Range("").value..
23.06.2003 14:35:14
David
Hallo Forum!!

ich möchte ein Makro nur ausführen, wenn einige bestimmt Felder ausgefüllt sind. IN den Felder stehen aber nicht nur Zahlen, sondern auch Buchstaben. Gebe ich Zahlen ein, funktionierts, wenn ich jedoch Buchstaben eingebe sagt er mir:

Laufzeitfehler 13
Typen unverträglich

If Range("g6").value And Range("g8").value And Range("g28").value <> "" Then

Kann mir da jmd. weiterhelfen?

Dank und Gruß aus Berlin



Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Bedingung If Range("").value..
23.06.2003 14:37:40
sergiesam

hi,

bisserl genauer muss es schon sein:

If Range("g6").value<>"" And Range("g8").value<>"" And Range("g28").value <> "" Then

gruß,
Sam

Re: Bedingung If Range("").value..
23.06.2003 14:44:04
David

Hi Sam,

also es sollen die eingegebenen Daten von einem sheet gespeichert werden, aber nur, wenn alle Felder ausgefüllt sind.

So etwa sieht das dann aus, sind halt nur noch einige Felder mehr..

Sub SpeichernProjektInfo()

Dim Kunde
Dim KundNr

If Range("g6").value And Range("g8").value And Range("g28").value <> "" Then

Sheets("Projektinfo").Select

Kunde = Range("g6").Value
KundNr = Range("G8").Value

Sheets("rps mit bewertung").Select

Range("b3").Value = Kunde
Range("c3").Value = OpportNr

Else
MsgBox "Sie müssen alle Felder ausfüllen, bevor die Daten gespeichert werden können!"
End If

Gruß

David

Anzeige
Re: Bedingung If Range("").value..
23.06.2003 14:46:59
sergiesam

Hi,

jetzt hast du glaub ich nicht ganz genau geschaut. Ich wollte dich jetzt nicht mit einem Roman belästigen, sondern die IF-Anweisung muss genauer geschrieben sein:

nicht:
If Range("g6").value And Range("g8").value And Range("g28").value <> "" Then

sondern
If Range("g6").value<>"" And Range("g8").value<>"" And Range("g28").value <> "" Then


Da haben wir uns nun etwas missverstanden. Versuch mal diese Verbesserung.
Sam

Anzeige
Re: Bedingung If Range("").value..
23.06.2003 14:49:07
David

Huch....

besten Dank und schönen Tag noch

David

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Bedingte Anweisungen in Excel VBA: Mit If Range arbeiten


Schritt-für-Schritt-Anleitung

Um eine bedingte Anweisung in Excel VBA mit If Range zu erstellen, folge diesen Schritten:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.
  2. Erstelle ein neues Modul: Klicke im Menü auf Einfügen und wähle Modul.
  3. Schreibe den Code:

    Sub SpeichernProjektInfo()
       Dim Kunde As String
       Dim KundNr As String
    
       If Range("g6").Value <> "" And Range("g8").Value <> "" And Range("g28").Value <> "" Then
           Sheets("Projektinfo").Select
           Kunde = Range("g6").Value
           KundNr = Range("g8").Value
           Sheets("rps mit bewertung").Select
           Range("b3").Value = Kunde
           Range("c3").Value = KundNr
       Else
           MsgBox "Sie müssen alle Felder ausfüllen, bevor die Daten gespeichert werden können!"
       End If
    End Sub
  4. Teste das Makro: Fülle die entsprechenden Felder auf dem Arbeitsblatt aus und führe das Makro aus.

Häufige Fehler und Lösungen

  • Laufzeitfehler 13: Typen unverträglich: Dieser Fehler tritt auf, wenn du versuchst, eine Bedingung zu prüfen, die nicht korrekt formuliert ist. Stelle sicher, dass du die If-Anweisung richtig schreibst:

    If Range("g6").Value <> "" And Range("g8").Value <> "" And Range("g28").Value <> "" Then
  • Falsche Verwendung von Range.Value: Achte darauf, dass du Range("g6").Value korrekt verwendest, um auf den Wert in der Zelle zuzugreifen. Das Value ist wichtig, um den Inhalt zu überprüfen.


Alternative Methoden

Falls du mit If Range nicht die gewünschten Ergebnisse erzielst, kannst du auch folgende Methoden ausprobieren:

  • Verwendung von IsEmpty:

    If Not IsEmpty(Range("g6")) And Not IsEmpty(Range("g8")) And Not IsEmpty(Range("g28")) Then
  • Überprüfung auf Zahlen oder Text:

    If VarType(Range("g6").Value) = vbString Then
       ' Handle string case
    End If

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du If Range in deinem VBA-Code nutzen kannst:

  1. Überprüfen, ob eine Zelle leer ist:

    If Range("A1").Value = "" Then
       MsgBox "Zelle A1 ist leer."
    End If
  2. Bedingte Formatierung basierend auf einem Wert:

    If Range("B1").Value > 100 Then
       Range("B1").Interior.Color = RGB(255, 0, 0) ' Rot
    End If

Tipps für Profis

  • Verwende With-Anweisungen: Um den Code zu optimieren, kannst du With-Anweisungen verwenden, um mehrfach auf die gleiche Range zuzugreifen.

    With Range("g6")
      If .Value <> "" Then
          ' Mach etwas
      End If
    End With
  • Vermeide die Verwendung von .Select: Du kannst den direkten Zugriff auf Zellen nutzen, ohne sie auswählen zu müssen, um deinen Code effizienter zu gestalten:

    Range("b3").Value = Kunde

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen Range.Value und Range.Value2? Range.Value gibt den Wert einer Zelle zurück, kann aber je nach Zellentyp (z.B. Datum) Formatierungen beeinflussen. Range.Value2 gibt den rohen Wert zurück und ist daher oft schneller und genauer.

2. Wie kann ich mehrere Bedingungen in einer If-Anweisung kombinieren? Nutze And oder Or, um mehrere Bedingungen miteinander zu verknüpfen, z.B.:

If Range("A1").Value > 10 And Range("B1").Value < 5 Then
    ' Mach etwas
End If

3. Was mache ich, wenn ich eine Fehlermeldung bekomme? Überprüfe deinen Code auf Syntaxfehler und stelle sicher, dass alle verwendeten Ranges korrekt angegeben sind. Nutze Debug.Print oder das VBA-Debugging-Tool, um den Fehler zu finden.

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