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

Forumthread: Probleme mit left

Probleme mit left
03.05.2007 16:42:00
Swen
Hallo an alle,
ich habe einen rechner an dem ich wie folgt programmieren
z.B.
WindowsUserName_auslesen = Left(Buffer, BuffLen - 1)
wenn ich jetzt auf ein anderen rechner gehe dann nimmt der den vergleichbaren
code nur mit dem zusatz "vba."
WindowsUserName_auslesen = VBA.Left(Buffer, BuffLen - 1)
warum ist das so und wie kann ich das auschalten?
gruß
swen

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit left
03.05.2007 17:20:00
Erich
Hallo Swen,
probier mal Folgendes:
Mit F2 kommst du vom VBA-Editor aus in den Objektkatalog.
Dort kannst du (in allen Bibliotheken) nach left$ suchen.
Wird mehr als der Eintrag in VBA - Strings gefunden?
Dann steht in dem anderen EIntrag der Name der Bibliothek, die auch ein Left$ anbietet.
Wenn da nur der eine VBA-Eintrag steht, musst du das Dollarzeichen weglassen, also nach left suchen.
Dann kommen viele Einträge, unter denen du die wohl vorhandene zweite Left-Funktion
(nicht: Eigenschaft) suchen musst.
Nun weißt du, in welcher Bibliothek die zweite, störende Left-Funktion steht,
und kannst den Objektkatalog schließen.
Im VBA-Editor solltest du nun mit Extras - Verweise die störende Bibliothek mit einem Haken davor wieder finden.
Wird diese Bibliothek in der Mappe wirklich gebraucht?
Das kannst du ausprobieren, indem du den Haken einfach entfernst und versuchst, das Projekt zu kompilieren.
(Debuggen - Kompilieren von ...)
Ein Laufzeit-Test wäre dann auch noch sinnvoll.
Falls diese Bibliothek benötigt wird, musst du VBA.Left schreiben, damit VBA wissen kann,
welche der in der Mappe verfügbaren Left-Funktionen aufzurufen ist.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Probleme mit left
03.05.2007 17:31:00
Swen
ich habe nur
left
left$
leftB
leftB$
in dem vba bibliothek (als methode) aber
ganz oft als parameter!
gruß
swen

AW: Probleme mit left
03.05.2007 19:20:19
Swen
ich habe keine ahnung was das ist!

AW: Probleme mit left
03.05.2007 20:10:24
Erich
Hallo Swen,
left kommt in vielen Eigenschaften (properties) und Konstanten vor. Meinst du das mit "Parameter"?
Wenn da nur die vier Funktionen auftauchen, die du genannt hast, wundert mich das.
Oder hast du das vielleicht auf dem Rechner gecheckt, bei dem man nicht VBA. vor Left schreiben muss?
Unabhängig davon:
Hast du in VBA unter Extras - Verweise nachgesehen, welche Bibliotheken einen Haken haben und damit aktiv sind?
Normal ist
Visual Basic for Applications
Microsoft Excel xx.x Object Library
Welche anderen Einträge haben auf dem VBA.Left-Rechner noch einen Haken?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Probleme mit left
04.05.2007 20:40:00
Swen
Hallo Erich,
das kann ich dir im moment nicht sagen aber ich werde das mir einmal am Montag anschauen
ich kann das leider erst Montag machen da das Problem an meinem Arbeitsplatz auftritt!
vielen dank für deine hilfe!
gruß
swen

AW: Probleme mit left
05.05.2007 13:00:25
Swen
Moin an alle, und an Erich,
so doch nicht Montag bin heute schon wieder in der Firma,
und zwar sind auf dem Rechner wo es nicht klappt folgende verweise
Visual Basic For Applications
Microsoft Excel 9.0 Object Library
OLE Automation
Microsoft Office 9.0 Object Library
Microsoft Forms 2.0 Object Library
da wo es läuft habe ich dieselben verweise bis auf
für Microsoft Excel 9.0 Object Library habe ich Microsoft Excel 11.0 Object Library
und für Microsoft Excel 9.0 Excel Library habe ich Microsoft Excel 11.0 Excel Library
kann es sein das es an der Version liegt, kann ich diese verweise irgendwie
auf die 11.0 version ändern?
gruß
swen

Anzeige
AW: Probleme mit left
05.05.2007 16:26:02
Erich
Hallo Swen,
die Verweise von 9.0 auf 11.0 ändern geht - aber nur durch Installation von Excel bzw. Office 2003.
Die Funktion Left gabe es aber in VBA schon immer, an der Version wirds also nicht liegen.
Wenn du noch an dem Rechner bist, der VBA.Left haben will:
Schlie0e bitte einmal Excel, starte es neu, öffne bei einer neuen Mappe den VBA-Editor,
und füge ein neues Modul ein.
Dann gehe bitte in VBA in Extras - Verweise und deaktiviere dort alle Bibliotheken außer
Visual Basic For Applications
Microsoft Excel 9.0 Object Library
In das neue Modul kopiere dann die Prozedur

Sub tst()
MsgBox Left$("xyz", 2)
End Sub

und starte sie. Wenn sie funzt, kannst du das mit den Bibliotheken
auch mit deiner Mappe probieren.
Wenn es jetzt oder in deiner Mappe nicht funzt, müsstest du nochmal mit F2 in den Objektkatalog
und dort nach Left$ suchen. Da müsste es dann mehrere Einträge geben.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Problem gelöst? (owT)
07.05.2007 22:38:00
Erich
;
Anzeige

Infobox / Tutorial

Probleme mit der LEFT-Funktion in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf einen der Einträge im Projektfenster und wähle Einfügen > Modul.
  3. Überprüfe die Verweise: Gehe zu Extras > Verweise. Achte darauf, dass nur die notwendigen Bibliotheken aktiviert sind, wie Visual Basic for Applications und Microsoft Excel xx.x Object Library.
  4. Teste die LEFT-Funktion: Füge den folgenden Code in das neue Modul ein:

    Sub TestLeftFunction()
       MsgBox Left("Beispieltext", 6) ' Gibt "Beisp" aus
    End Sub
  5. Starte die Prozedur: Drücke F5 oder klicke auf das grüne Ausführen-Symbol, um die Prozedur zu testen.

Häufige Fehler und Lösungen

  • Fehler: "Typ nicht definiert": Stelle sicher, dass alle erforderlichen Verweise aktiviert sind. Überprüfe die Objektbibliotheken.

  • Fehler: Verwendung von VBA.Left: Wenn du die LEFT-Funktion mit dem Zusatztitel VBA verwenden musst, könnte es sein, dass eine andere Bibliothek eine gleichnamige Funktion hat. Verwende VBA.Left, um Konflikte zu vermeiden.

  • Funktion wird nicht gefunden: Wenn die LEFT-Funktion nicht gefunden wird, überprüfe den Objektkatalog mit F2 und suche nach Left$. Möglicherweise gibt es mehrere Einträge.


Alternative Methoden

  • Verwendung der LEFT-Funktion in Excel: Du kannst auch die LEFT-Funktion direkt in einer Excel-Zelle verwenden, ohne VBA. Beispiel:

    =LEFT(A1, 5)
  • Excel VBA Links-Funktion: Eine alternative Methode könnte die Verwendung von Mid oder Right sein, abhängig von deinem Anwendungsfall.


Praktische Beispiele

  1. Benutzername auslesen:

    WindowsUserName_auslesen = VBA.Left(Buffer, BuffLen - 1)

    Hierbei wird der Benutzername durch die LEFT-Funktion ermittelt.

  2. Verkettung mit LEFT:

    Dim Text As String
    Text = "Excel VBA"
    MsgBox "Die ersten 5 Zeichen sind: " & Left(Text, 5) ' Gibt "Excel" aus

Tipps für Profis

  • Verwendung von Option Explicit: Füge Option Explicit am Anfang deiner Module hinzu, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.

  • Bibliotheken im Auge behalten: Sehe regelmäßig in den Verweisen nach, besonders nach Excel-Updates. Manchmal können neue Versionen die Funktionsbibliothek ändern.

  • Nutze Debugging: Verwende die Debugging-Tools in VBA, um Probleme schneller zu identifizieren. Setze Haltepunkte und überprüfe Variablenwerte.


FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen LEFT und LEFT$ in VBA?
LEFT$ ist eine Variante, die eine String-Datenart zurückgibt, während LEFT eine Variant zurückgibt. In der Praxis sind die Unterschiede meist irrelevant.

2. Warum muss ich VBA. vor LEFT schreiben?
Wenn es mehrere Funktionen mit demselben Namen gibt, hilft das Präfix VBA. dabei, die richtige Funktion aus der funktionsbibliothek excel anzusprechen.

3. Wie kann ich die Version der Microsoft Excel Bibliothek ändern?
Du kannst die Version der Bibliothek nur ändern, indem du die entsprechende Version von Excel oder Office installierst. In den Verweisen kannst du die Häkchen setzen oder entfernen, um die aktiven Bibliotheken zu steuern.

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