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

VBA Benutzerdefinierter Typ nicht def.

Forumthread: VBA Benutzerdefinierter Typ nicht def.

VBA Benutzerdefinierter Typ nicht def.
25.05.2016 12:41:16
WolfgangN
Hallo,
meine Excel 2013 Datei mit vielen Makros funktionierte bis vor einigen Tagen korrekt.
Jetzt bekomme ich nachdem ich nur eine Ziffer eintrage den Fehler. VBA Benutzerdefinierter Typ nicht definiert. Bestätige ich es mit OK funktioniert alles, diese Meldung erscheint nicht mehr, erst beim nächsten Neustart.
Userbild
Meine VBA Verweise sind folgende:
Userbild
Diese hatte ich von einer anderen funktionieren Datei geändert in:
Userbild
Leider ohne Erfolg, ich bitte um Unterstützung damit dieser nervige Startfehler nicht mehr auftritt.
Viele Grüße
Wolfgang

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Benutzerdefinierter Typ nicht def.
25.05.2016 17:10:01
Nepumuk
Hallo,
kompiliere mal das VBA-Projekt (VBA-Editor - Menüleiste - Debuggen - Kompilieren von VBAProjekt). Was wird angemeckert?
Gruß
Nepumuk

AW: VBA Benutzerdefinierter Typ nicht def.
25.05.2016 17:28:49
WolfgangN
Hallo Nepumuk,
vielen Dank für Deine Antwort,Ich habe Deinen Tip umgesetzt, leider tut sich nichts, außer das danach der Punkt ausgegraut ist. Wo erkenne ich das ausgemeckert wird?
Gruß
Wolfgang

Anzeige
AW: VBA Benutzerdefinierter Typ nicht def.
25.05.2016 18:37:48
Nepumuk
Hallo,
mysteriös. Kannst du eine Kopie der Mappe ohne Daten hochladen?
Gruß
Nepumuk

AW: VBA Benutzerdefinierter Typ nicht def.
25.05.2016 19:00:45
WolfgangN
Hallo,
die Mappe besteht aus 14 Modulen, 9 Userforms, ca. 12 Tabellenbläter mit Code und enthält viele persönliche Daten, die ich nicht öffentlich machen möchte. Wenn Du möchtest kann ich ich Dir die Datei schicken, aber nicht veröffentlichen.
Übrigens geht die Datei auf einem anderen PC mit Excel 2007 problemlos.
Gruß
Wolfgang

Anzeige
Das Ausgrauen ist normal und zeigt, dass ...
25.05.2016 18:39:38
Luc:-?
…die Kompilierung erfolgt und aktuell ist, Wolfgang.
Wenn dabei keine gelbe Markierung eines Code-Teils erfolgt, ist alles OK. Der Fehler tritt dann nur bei zur Laufzeit interpretierten Code-Teilen auf (nicht alles kann vorab kompiliert wdn!). Wenn das nur bei MappenStart so ist, wird wahrscheinlich irgendein VariablenDatentyp entweder für benutzerdefiniert gehalten oder ist es tatsächlich und die Definition ist zu diesem ZeitPkt noch nicht erfolgt bzw übergangen worden. Nach so etwas musst du dann selber suchen, denn das dürfte (bei einem ganzen Projekt!) den ZeitFonds der meisten AWer überfordern.
Gruß, Luc :-?
Besser informiert mit …

Anzeige
AW: Das Ausgrauen ist normal und zeigt, dass ...
25.05.2016 19:04:09
WolfgangN
Hallo Luc :-?
Danke für Dein Interesse, ich würde ja alles kontrollieren, weiß aber nicht wonach ich suchen soll.
Gruß
Wolfgang

Deine 1.Frage an dein Projekt sollte sein, ...
25.05.2016 21:57:37
Luc:-?
habe ich benutzerdefinierte Datentypen (wdn prozedurähnlich mit Type definiert) oder nicht?
Falls Ja, dann überprüfen, wo die stehen und ob die 1.Variable mit diesem Typ bei MappenStart auch so deklariert wdn konnte! Möglicherweise wird auch eine neue Xl-Instanz gestartet, der dann der entsprd DatenTyp nicht bekannt ist.
Wenn Nein, dann nach SchreibFehlern in DatenTypen suchen (hatten wir gerade erst)!
Aber da das bei Xl12/2007 nicht auftritt, kann es auch sein, dass es etwas Anderes ist und die Fehler­Meldung eher zufällig (aus ablaufinternen Gründen) den genannten Wortlaut hat. Dann hilft wohl nur, im Workbook_Open-Ereignis einen Stop-Befehl (keinen HaltePkt!) zu setzen und dann in Einzel­Pgm­Schritten vorzugehen bis die Meldung kommt.
Luc :-?

Anzeige
AW: Deine 1.Frage an dein Projekt sollte sein, ...
26.05.2016 13:27:50
WolfgangN
Hallo Luc :-?
Ich habe keine benutzerdefinierten Datentypen,Schreibfehler in Datentypen habe ich keine entdeckt.
Sofort hinter Private Sub Workbook_Open()habe ich Stop gesetzt, wird auch gelb hinterlegt. Leider tritt der Fehler sofort nach Eintrag einer Zahl auf. Habe auch alles in Private Sub Workbook_Open() kommentiert neu gestartet, gleicher Fehler.
Das seltsame ist, bis vor eingen Tagen trat der Fehler nicht auf, habe jetzt eine Datensicherung von Feb. 2015 geöffnet, gleicher Fehler.
Die Datei entstand mit Makros am 01.08.2004, für jedem Tag kommen Zahlen hinzu. Nie hatte ich dieses Problem.
Was ich noch nicht gemacht habe:
Reparatur Office, Update von Win 7 auf Win 10, Updates von Office und Win 7 deinstalliert,
Gibt es die Möglichkeit die Fehlermeldung abzuschalten mit On Error Resume next, oder mit Application.DisplayAlerts = False oder eine Zahl per Makro einfügen dann Send keys und wieder löschen?
Besteht die Möglichkeit, dass der Fehler von Microsoft kommt, ähnlich dem nicht funktionierenden ActiveX-Steuerelementen nach einem Update?
Würde mich sehr über weitere Hilfe freuen.
Gruß
Wolfgang
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

VBA Fehler: Benutzerdefinierter Typ nicht definiert


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Kompiliere das Projekt:

    • Klicke in der Menüleiste auf Debuggen und wähle Kompilieren von VBAProjekt.
    • Achte darauf, ob eine Fehlermeldung erscheint. Wenn der Punkt Kompilieren ausgegraut ist, ist das ein Zeichen dafür, dass die Kompilierung erfolgreich war.
  3. Überprüfe die Verweise:

    • Gehe zu Extras > Verweise im VBA-Editor.
    • Stelle sicher, dass alle benötigten Verweise aktiviert sind und keine ausgegraut sind. Ein ausgegrauter Verweis deutet darauf hin, dass er auf eine nicht installierte oder fehlende Bibliothek verweist.
  4. Suche nach benutzerdefinierten Datentypen:

    • Überprüfe, ob du benutzerdefinierte Datentypen mit Type definiert hast. Wenn ja, stelle sicher, dass diese korrekt deklariert sind.
  5. Fehlerbehebung:

    • Wenn der Fehler beim Kompilieren weiterhin auftritt, versuche, das Workbook_Open-Ereignis zu debuggen, indem du einen Stop-Befehl einfügst. Gehe dann Schritt für Schritt durch den Code.

Häufige Fehler und Lösungen

  • Fehler beim Kompilieren:

    • Wenn du die Fehlermeldung „Benutzerdefinierter Typ nicht definiert“ erhältst, könnte das an einem fehlenden oder nicht deklarierten Datentyp liegen. Überprüfe alle Variablen und deren Typen.
  • Ausgegraute Verweise:

    • Wenn du in den Verweisen ausgegraute Elemente siehst, ist es wichtig, die entsprechenden Bibliotheken zu installieren oder die Verweise zu reparieren.
  • Mysteriöse Fehler:

    • Manchmal treten Fehler auf, die schwer nachzuvollziehen sind. Das kann an einer nicht korrekt deklarierten Variable oder an Abhängigkeiten von externen Bibliotheken liegen.

Alternative Methoden

  • Verwendung von On Error Resume Next:

    • Du kannst den Fehler mit On Error Resume Next unterdrücken, um die Ausführung des Codes fortzusetzen. Beachte jedoch, dass dies nicht die Ursache des Problems löst.
  • Fehlerprotokollierung:

    • Implementiere eine Fehlerprotokollierung, um die genaue Stelle des Fehlers zu identifizieren. Setze dazu Debug.Print oder MsgBox an strategischen Punkten im Code.

Praktische Beispiele

Ein Beispiel für einen benutzerdefinierten Datentyp in VBA könnte so aussehen:

Type MyCustomType
    Name As String
    Age As Integer
End Type

Dim Person As MyCustomType

Wenn du versuchst, diesen Datentyp zu verwenden, aber keine korrekte Definition vorliegt, erhältst du den Fehler „Benutzerdefinierter Typ nicht definiert“.


Tipps für Profis

  • Regelmäßige Sicherung: Mache regelmäßige Sicherungen deiner Excel-Dateien, insbesondere vor größeren Änderungen am Code.
  • Dokumentation: Halte eine Dokumentation deiner benutzerdefinierten Typen und Variablen, um die Nachverfolgbarkeit zu verbessern.
  • Updates: Halte dein Excel- und Windows-System auf dem neuesten Stand, um Probleme mit ActiveX-Steuerelementen und ähnlichem zu vermeiden.

FAQ: Häufige Fragen

1. Wie kann ich den Fehler „Benutzerdefinierter Typ nicht definiert“ beheben? Überprüfe deine Datentypen und stelle sicher, dass alle Verweise korrekt gesetzt sind und keine ausgegrauten Elemente vorhanden sind.

2. Was bedeutet es, wenn ein Verweis ausgegraut ist? Ein ausgegrauter Verweis bedeutet, dass die entsprechende Bibliothek nicht installiert oder verfügbar ist. Du musst entweder die Bibliothek installieren oder den Verweis entfernen.

3. Kann ich den Fehler mit On Error Resume Next ignorieren? Ja, du kannst den Fehler ignorieren, aber es ist besser, die Ursache zu beheben, um zukünftige Probleme zu vermeiden.

4. Warum tritt der Fehler nur auf einem bestimmten PC auf? Der Fehler könnte durch unterschiedliche Excel-Versionen oder installierte Bibliotheken bedingt sein. Überprüfe die Umgebung, in der der Code ausgeführt wird.

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