Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
888to892
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
888to892
888to892
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Welcher Verweis fehlt den nun?

Welcher Verweis fehlt den nun?
30.07.2007 16:41:44
Reinhard
Hallo Wissende,
als völlig zufälliges Beispiel habe ich jetzt mal den nachfolgenden Code.
Wenn ich ihn starte, wird
Dim VBCodeMod As codemodule
vom Debugger bemängelt, Benutzerdefinierter Typ nicht definiert.
Okay, wenn ich "As codemule" auskommentiere geht es aber es wird dann als nächstes
vbext_pk_Proc
als nichtdefinierte Variable vom Debugger moniert.
Abbhilfe brachte mir Google, mit deren Hilfe ich darauf kam daß der Verweis auf:
Microsoft Visual Basic for Applications Extensibility 5.3
gesetzt sein muß, dann klappt es.
Nur, wie, wo, kann ich direkt erfahren welchen Verweis ich denn nun brauche?
Gleiche Problematik habe ich mit
Dim xyz as Vbcomponents,
welcher Verweis fehlt denn da, denn das wird auch bemängelt?
Und warum wird trotz richtigem Verweis *annehm*

Dim VBCodeMod        As codemodule


nicht in
Dim VBCodeMod As CodeModule
umgewandelt?
Danke ^ Gruß
Reinhard
Ps: Der Teilcode stammt aus einem Code von Michael Schwimmer, nicht das jmd. glaubt, von mir :-)))
Option Explicit


Sub tt()
Dim strModName As String, strProcName As String, VBCodeMod '  As codemodule
strModName = "Modul2"
strProcName = "Test"
If ProcedureExists(strModName, strProcName) Then
Set VBCodeMod = ThisWorkbook.VBProject.VBComponents(strModName).codemodule
With VBCodeMod
lngStartLine = .ProcStartLine(strProcName, vbext_pk_Proc)
lngHowManyLines = .ProcCountLines(strProcName, vbext_pk_Proc)
.DeleteLines lngStartLine, lngHowManyLines
End With
MsgBox "Die Prozedur " & strProcName & " wurde gelöscht."
Else
MsgBox "Modul oder Prozedur nicht vorhanden."
End If
End Sub


Function ProcedureExists(Modulname As String, Makroname As String) As Boolean
ProcedureExists = ThisWorkbook.VBProject.VBComponents(Modulname).codemodule. _
ProcStartLine(Makroname, vbext_pk_Proc) 0
End Function


1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Option Explizit rausnehmen
03.08.2007 22:50:44
Bernd
Ohne weiteren Test:
nimm doch einfach mal "Option Explizit" heraus. Vielleicht meckert der Debugger dann nicht mehr.
Grüße
Bernd
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige