Excel: Fehler beim kompilieren

willi0513

Cadet 2nd Year
Registriert
Juni 2024
Beiträge
28
Ich habe vor ca. 25 Jahren ein Vokabellernprogramm in Excel erstellt und habe damit ca. 5-6 Jahre gearbeitet.
Damals wahrscheinlich mit Office 97 und später dann mit Office 2003.
Jetzt habe ich es wiedergefunden und würde damit gerne wieder arbeiten, bekomme aber den genannten Fehler (siehe Screenshot)
Meiner Meinung nach sind die nötigen Bibliotheken aber alle vorhanden, auch wenn "MicrosoftCalendar Control 10.0" angemeckert wird.
Der Befehl "left" und "right" ist doch nichts außergewöhnliches. Müsste meiner Meinung nach in "Microsoft Excel 14.0 Object Library " stehen.

Hat jemand eine Idee was ich machen kann?

Ich arbeite im Moment mit Office 2010. Kann es sein, dass die Befehle jetzt anders heißen?
 

Anhänge

  • 2024-07-21 15_45_00-Microsoft Visual Basic for Applications - VokabelTestenAktuell.xls [Aktiv]...png
    2024-07-21 15_45_00-Microsoft Visual Basic for Applications - VokabelTestenAktuell.xls [Aktiv]...png
    15,5 KB · Aufrufe: 118
  • 2024-07-21 15_39_55-Microsoft Visual Basic for Applications - VokabelTestenAktuell.xls - [Modu...png
    2024-07-21 15_39_55-Microsoft Visual Basic for Applications - VokabelTestenAktuell.xls - [Modu...png
    22 KB · Aufrufe: 113
Hier mal die komplette Funktion.
Ich habe eben diese Procedur in eine andere Tabelle kopiert und den "Suchtext" manuelle belegt
mit "Test1; Test2", da ich ja kein Text übergeben bekomme.
Ich konnte die Function im Einzelschrittmodus F8 problemlos durchlaufen.
Es gab keinen Fehler.

Warum gibt es mal einen Fehler und mal keinen? Liegt es evtl. gar nicht an dem Befehl "Left"?
 

Anhänge

  • 2024-07-21 16_47_08-Microsoft Visual Basic for Applications - VokabelTestenAktuell.xls - [Modu...png
    2024-07-21 16_47_08-Microsoft Visual Basic for Applications - VokabelTestenAktuell.xls - [Modu...png
    33,7 KB · Aufrufe: 51
Hmm eventuell.
Aber InStr sieht auch korrekt in der Nutzung aus.

Kannst du beim Fehler-Debugging sagen, welche Werte SuchText und Pos haben, wenn es zum Fehler kommt?

Und war da nicht was mit OPTION BASE in VBA?
Wird so ein Befehl irgendwo verwendet in dem Code?
Bzw kannst du mal die Zeile ändern in: Dim Arr(0 to 5) As String
Aber das sollte es eigentlich nicht sein.
 
Zuletzt bearbeitet:
OPTION BASE verwende ich nicht.

SuchText und Pos haben beide den Wert:
<Modul kann nicht kompiliert werden>

Ich habe jetzt einmal den Aufruf der Function TextSeparieren auskommentiert.
Jetzt kommt die Fehlermeldung in einem anderen Modul (siehe Screenshot):

Ich fürchte, es liegt an etwas ganz anderem.
 

Anhänge

  • 2024-07-22 11_38_44-Microsoft Visual Basic for Applications - VokabelTestenAktuell.xls [Aktiv]...png
    2024-07-22 11_38_44-Microsoft Visual Basic for Applications - VokabelTestenAktuell.xls [Aktiv]...png
    26,8 KB · Aufrufe: 30
Excel = Office 14 ≡ Office 2010?
Ich kann das nicht mehr nachvollziehen, und es kommt so schlimm, dass ich auch nicht bestätigen kann ob es eine Mappe Marke Office97 war - aber auch ich hatte diesen Wahnwitz, dass LEFT, MID, RIGHT nicht arbeiteten!

Nur woran habe ich da gedreht? Instinktiv die Verweise durchgehen schien es gelöst zu haben (aber da meldet meine Erinnerung ein Schwarzes Loch).

Blöde Idee: komplett neue Mappe anlegen, mit X hinten dran, Module wenn nötig erzeugen und dann Blattinhalte wie VBA-Inhalte (also den reinen Code) umkopieren. Manchmal hilft so was Blödes.
Jedenfalls bist du damit nicht allein!

CN8
 
Neue Mappe anlegen ist wirklich keine gute Idee, bei 10 Tabellen, 7 VBA-Modulen und 15 Userforms.
Alle Tabellen und Userforms auch mit VBA-Code.

Im ersten Post im 2. Bild ist die "Microsoft Calendar Control 10.0" nicht vorhanden. Das habe ich bis jetzt ignoriert, weil LEFT und RIGHT ja nichts mit dem Kalender zu tun hat.
Aufgrund deines Instinkts habe ich mir die Datei MSCAL.OCX heruntergeladen. Hab allerdings nur die
Version "Microsoft Calendar Control 2007" gefunden.
Aber man glaubt es nicht, jetzt funktioniert es.

Vielen Dank für eure Hilfe.
 
  • Gefällt mir
Reaktionen: tollertyp
Zurück
Oben