Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Formel für Textlänge in VBA übersetzen

Formel für Textlänge in VBA übersetzen
Harald
Hallo zusammen,
kann mir bitte jemand diese Formel
=WENN(LÄNGE(A1)=3;"XXX";"YYY")
in einen VBA- Code übersetzen!?
Ich bekomme es einfach nicht hin und über die Recherche bin ich auch nicht fündig geworden.
Vielen Dank vorab.
Gruß
Harald G.
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Formel für Textlänge in VBA übersetzen
28.09.2010 14:27:08
xr8k2
Hallo Harald,
die Frage ist ... was willst du damit anstellen ... soll einfach das Ergebnis ausgegeben werden oder soll die Formel per VBA irgendwo eingetragen werden ?
Ersteres könnte so funktionieren:
if len(range("A1")) = 3 then msgbox("XXX") else msgbox ("YYY")
Gruß,
xr8k2
Anzeige
AW: Formel für Textlänge in VBA übersetzen
28.09.2010 14:33:43
Harald
Hallo xr8k2, hallo NoNet,
vielen Dank für die schnelle Antwort.
Ihr habt mir bereits geholfen.
Ich möchte in Abhängigkeit des Erbnisses in VBA weitere Codes ausführen lassen.
Nochmals vielen Dank und schöne Grüße aus Köln
Harald G.
[B1].Formula="=IF(A1=3,""XXX"",""YYY"")"
28.09.2010 14:28:30
NoNet
Hallo Harald,
direkt mit VBA kannst Du das folgendermaßen abfragen :
If Len([A1])=3 then Msgbox "XXX" else MsgBox "YYY"
Oder per VBA als Funktion in eine Zelle (B1) schreiben :
[B1].Formula="=IF(A1=3,""XXX"",""YYY"")"
Gruß, NoNet
Aktuelle Infos und Anmeldung zum => Exceltreffen 2010 <= in Neubrandenburg (15.-17.10.2010) :
Treffen der Excel-Freunde und zahlreicher Helfer aus diversen Excel-Foren.
Auch DU kannst daran teilnehmen ... => Klicke hier <=

Anzeige
AW: Formel für Textlänge in VBA übersetzen
28.09.2010 14:29:17
Klaus
Hallo Harald,
ActiveCell.FormulaLocal = "=WENN(LÄNGE(A1)=3;""XXX"";""YYY"")"
oder
ActiveCell.FormulaR1C1 = "=IF(LEN(R1C1)=3,""XXX"",""YYY"")"
oder
Application.WorksheetFuntion[...]
Grüße,
Klaus M.vdT.
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Textlänge in VBA richtig ermitteln und umsetzen


Schritt-für-Schritt-Anleitung

Um die Länge eines Textes in Excel mit VBA zu ermitteln, kannst Du die folgende Schritt-für-Schritt-Anleitung nutzen:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Füge ein neues Modul ein: Rechtsklick auf "VBAProject (DeineDatei.xlsx)" > Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Sub TextlängeErmitteln()
       If Len(Range("A1").Value) = 3 Then
           MsgBox "XXX"
       Else
           MsgBox "YYY"
       End If
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Führe das Makro aus: Entwicklertools > Makros > Wähle TextlängeErmitteln und klicke auf Ausführen.

Mit dieser Anleitung kannst Du die Länge eines Strings direkt in VBA abfragen und entsprechende Aktionen ausführen.


Häufige Fehler und Lösungen

  • Fehler: Objektvariable oder With-Blockvariable nicht festgelegt

    • Lösung: Stelle sicher, dass die Zelle A1 tatsächlich einen Wert enthält, bevor Du den Code ausführst.
  • Fehler: Typen unverträglich

    • Lösung: Überprüfe, ob die Zelle A1 einen Textwert enthält. Der Len-Befehl funktioniert nur mit Text oder Zahlen.

Alternative Methoden

Es gibt verschiedene Möglichkeiten, die Länge eines Textes in Excel zu ermitteln:

  1. Direkte Verwendung der Formel in einer Zelle:

    =WENN(LÄNGE(A1)=3; "XXX"; "YYY")
  2. VBA als Funktion in eine Zelle schreiben:

    [B1].Formula = "=IF(LEN(A1)=3,""XXX"",""YYY"")"

Diese Methoden können Dir helfen, die Ergebnisse direkt in den Zellen anzuzeigen, ohne ein Makro ausführen zu müssen.


Praktische Beispiele

Hier sind einige Beispiele, wie Du die textlänge in verschiedenen Szenarien nutzen kannst:

  1. Bedingte Formatierung basierend auf der Textlänge:

    • Du kannst die bedingte Formatierung verwenden, um Zellen hervorzuheben, deren Textlänge bestimmten Kriterien entspricht.
  2. Benachrichtigung bei falscher Eingabe:

    • Verwende VBA, um eine Warnmeldung anzuzeigen, wenn die eingetragene Textlänge nicht den Anforderungen entspricht.

Tipps für Profis

  • Nutze die Len-Funktion in Kombination mit anderen Funktionen wie If oder Select Case, um komplexere Logik in Deinen VBA-Codes zu implementieren.
  • Denke daran, die Länge in unterschiedlichen Sprachen zu berücksichtigen, z.B. LEN für Englisch und LÄNGE für Deutsch. Dies ist besonders hilfreich, wenn Du mit internationalen Teams arbeitest.

FAQ: Häufige Fragen

1. Wie kann ich die Länge eines Strings in einer Variable ermitteln?
Du kannst die Len-Funktion verwenden, um die Länge des Textes in einer Variablen zu ermitteln, z.B. Dim myString As String gefolgt von myString = "Test" und dann MsgBox Len(myString).

2. Kann ich die Textlänge für mehrere Zellen gleichzeitig prüfen?
Ja, Du kannst eine Schleife verwenden, um durch mehrere Zellen zu iterieren und die Länge für jede Zelle zu überprüfen. Zum Beispiel:

Dim cell As Range
For Each cell In Range("A1:A10")
    If Len(cell.Value) = 3 Then
        ' Aktion ausführen
    End If
Next cell

Diese Antworten helfen Dir, die VBA Länge von Strings effektiver zu nutzen und die textlänge in Deinen Excel-Projekten zu optimieren.

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