VBA CodeModule

11/04/2012 - 07:57 von Ewald | Report spam
Hallo NG,
folgenden Code habe ich in einem Excel2003-Programm geschrieben und er
funktioniert auch in Excel2010:
Modul1:
Option Explicit

Public Const PWAlt As String = "test"

Modul2:
Option Explicit

Public HiFe As String
Public HiFe2 As String
Public I As Single
Public J As Single
Public PWalt_OK As Boolean
Public PWneu1_OK As Boolean
Public PWneu2_OK As Boolean
Public VBE As CodeModule
Public vonSt As Integer
Public bisSt As Integer
'
Sub PW_àndern()
Worksheets("Tabelle1").Activate
If ActiveSheet.ProtectContents = True Then
ActiveSheet.Unprotect PWAlt
End If
HiFe = Application.VBE.VBProjects(1).Name
Set VBE = ThisWorkbook.VBProject.VBComponents("Modul1").CodeModule
With VBE
For J = 1 To .CountOfLines
HiFe = .Lines(J, 1)
If Mid(HiFe, 14, 5) = "PWAlt" Then
vonSt = InStr(1, HiFe, """")
bisSt = InStrRev(HiFe, """")
HiFe = Mid(HiFe, 1, vonSt) & frm_PW_àndern.frmPWneu1 _
& Mid(HiFe, bisSt, Len(HiFe))
.ReplaceLine J, HiFe
End If
Next J
End With
Set VBE = Nothing
ActiveSheet.Protect frm_PW_àndern.frmPWneu1
Unload frm_PW_àndern
End Sub

Verwende ich nun die Zeile:
Public VBE As CodeModule
in einem neuen Programm, erhalte ich die Fehlermeldung:
Fehler beim Kompilieren:
Benutzerdefinierter Typ nicht definiert

Sollte jemand das gleiche Problem gelöst haben, wàre ich für die
Lösung dankbar, meine www-Recherchen waren leider erfolglos.

Gruß
Ewald
 

Lesen sie die antworten

#1 Claus Busch
11/04/2012 - 08:11 | Warnen spam
Hallo Ewald,

Am Tue, 10 Apr 2012 22:57:54 -0700 (PDT) schrieb Ewald:

Verwende ich nun die Zeile:
Public VBE As CodeModule
in einem neuen Programm, erhalte ich die Fehlermeldung:
Fehler beim Kompilieren:
Benutzerdefinierter Typ nicht definiert



hast du bei der neuen Mappe auch den Verweis auf "Microsoft Visual Basic
For Applications Extensibility 5.3" gesetzt?


Mit freundlichen Grüßen
Claus Busch
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3

Ähnliche fragen