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

"LEFT" in VBA

Forumthread: "LEFT" in VBA

"LEFT" in VBA
05.09.2007 07:38:24
Ralf
Einen wunderschönen guten Morgen!
Ich war gerade munter dabei eine meiner Meinung nach recht einfache IF-Konstruktion zu bauen, bis es vor Fehlermeldungen nur so hagelte. :)
Das ganze schaut wie folgt aus:
If Worksheets(3).Cells(r, djf) = Cells(m, 3) And Application.Left(Cells(m, 5), 1) = Application.Left(Worksheets(3).Cells(r, djl), 1) And Application.Right(Cells(m, 5), 1) = Application.Right(Worksheets(3).Cells(r, djl), 1) Then ..............
Nun wird ".LEFT" markiert, die Fehlermeldung "Wrong number of Arguments or invalid property assignment" erscheint. Warum? :)
Falls jemand eine Idee hat: Ich finde keine Lösung & bin für alles dankbar.
Viele Grüße, Ralf

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: lass das application. weg ...
05.09.2007 07:59:53
Coach
Hallo Ralf,
application.left berechnet die Fensterposition.
Gruß Coach
Anzeige
;
Anzeige

Infobox / Tutorial

Umgang mit der LEFT-Funktion in VBA


Schritt-für-Schritt-Anleitung

Um die LEFT-Funktion in VBA korrekt zu verwenden, solltest Du folgende Schritte beachten:

  1. Verwende die richtige Syntax: In VBA wird die LEFT-Funktion wie folgt verwendet:

    Dim result As String
    result = Left(string, length)

    Hierbei ist string der Text, von dem Du die linken Zeichen extrahieren möchtest, und length die Anzahl der Zeichen, die Du erhalten möchtest.

  2. Vermeide das „Application.“ Prefix: Wenn Du Application.Left verwendest, kann das zu Verwirrung führen, da Application.Left tatsächlich die Fensterposition und nicht die LEFT-Funktion von Excel referenziert. Verwende einfach Left:

    If Left(Cells(m, 5), 1) = Left(Worksheets(3).Cells(r, djl), 1) Then
  3. Korrekte Bedingungen in IF-Anweisungen: Stelle sicher, dass Deine Bedingungen in der IF-Anweisung korrekt sind und die richtigen Zellverweise verwenden.


Häufige Fehler und Lösungen

  • Fehlermeldung: "Wrong number of Arguments or invalid property assignment"
    Diese Fehlermeldung tritt auf, wenn Application.Left verwendet wird. Stattdessen solltest Du einfach Left verwenden, um die gewünschten Zeichen zu extrahieren.

  • Falsche Zellreferenzen: Achte darauf, dass die Zellreferenzen in Deiner IF-Bedingung korrekt sind. Überprüfe, ob Cells(m, 5) und Worksheets(3).Cells(r, djl) die erwarteten Werte enthalten.


Alternative Methoden

Falls Du Probleme mit der LEFT-Funktion in VBA hast, kannst Du auch die LEFTB-Funktion verwenden, die für Byte-Zeichencodierungen geeignet ist. Dies ist besonders nützlich, wenn Du mit mehrsprachigen Texten arbeitest:

Dim result As String
result = LeftB(string, length)

Praktische Beispiele

Hier sind einige Beispiele, wie Du die LEFT-Funktion in VBA verwenden kannst:

  1. Einfache Verwendung:

    Dim firstChar As String
    firstChar = Left(Cells(1, 1).Value, 1) ' Gibt den ersten Buchstaben der Zelle A1 zurück
  2. In einer IF-Anweisung:

    If Left(Cells(m, 5), 1) = "A" Then
       MsgBox "Der erste Buchstabe ist A"
    End If

Tipps für Profis

  • Verwende Option Explicit: Aktiviere immer Option Explicit am Anfang Deiner Module, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler frühzeitig zu erkennen.

  • Debugging mit Debug.Print: Nutze Debug.Print, um den Wert von Variablen während der Ausführung zu überprüfen. Dies kann helfen, Probleme schnell zu identifizieren.

  • Dokumentation lesen: Wenn Du mehr über die Funktionen in VBA lernen möchtest, wirf einen Blick in die offizielle Microsoft Dokumentation zu VBA-Funktionen.


FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen LEFT und LEFTB in VBA?
LEFT gibt die Anzahl der Zeichen zurück, während LEFTB die Anzahl der Bytes zurückgibt. Das ist besonders wichtig bei mehrbyte Zeichen wie bei einigen asiatischen Schriftzeichen.

2. Kann ich die LEFT-Funktion auch in Excel-Formeln verwenden?
Ja, in Excel kannst Du die LEFT-Formel direkt in Zellen verwenden, um die ersten Zeichen eines Textes zu extrahieren, z.B. =LEFT(A1, 3) gibt die ersten drei Zeichen des Inhalts von Zelle A1 zurück.

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