Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
364to368
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
364to368
364to368
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA code durch VBA ändern

VBA code durch VBA ändern
20.01.2004 07:30:13
Chris b
VBA Code durch VBA ändern.
Hallo Excel Profis,
habe eine frage und zwar weiß ich das ich mit VBA den VB Code ändern kann dazu habe ich diesen unten stehenden Code:
Probelm ist aber dieser Code ändert nur das VBA Projekt in dem er auch steht wegen dem Activecodepane glaube ich.
Ist es Möglich wenn z.B der code der geändert werden soll im Modul1 steht und der VBA code der das ändern aufruft im Modul2 das da auch geht?
Für eure Hilfe wäre ich euch sehr dankbar Christian
'Code soll im Modul1 sein (Momentan sind beide Codes im Modul1)
Const SuchZeile = " MsgBox ""VBA macht Spaß !"""
Const NeueZeile = " MsgBox ""VBA macht großen Spaß !"""

Sub VBAZeileÄndern()
Set VBE = Application.VBE.ActiveCodePane.CodeModule
With VBE
For x = 1 To .countoflines
i = .countoflines
If .Lines(x, 1) = NeueZeile Then
.ReplaceLine x, SuchZeile
Exit Sub
End If
If .Lines(x, 1) = SuchZeile Then
.ReplaceLine x, NeueZeile
Exit Sub
End If
Next x
End With
End Sub

'Code Soll im Modul 2 geändert werden (Momentan sind beide Codes im Modul1)

Sub Testen()
MsgBox "VBA macht Spaß !"
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA code durch VBA ändern
20.01.2004 08:19:48
Detlev
Hallo Chris,
ich hab Deinen Code etwas geändert, danach lief es bei mir.
Modul 1
Const SuchZeile = "MsgBox ""VBA macht Spaß !"""
Const NeueZeile = "MsgBox ""VBA macht großen Spaß !"""

Sub VBAZeileÄndern()
Set VBE = Application.VBE.VBProjects(2).VBComponents.Item(4).CodeModule
With VBE
For x = 1 To .countoflines
i = .countoflines
If Trim(.Lines(x, 1)) = NeueZeile Then
.ReplaceLine x, SuchZeile
Exit Sub
End If
If Trim(.Lines(x, 1)) = SuchZeile Then
.ReplaceLine x, NeueZeile
Exit Sub
End If
Next x
End With
End Sub

Modul 2

Sub Testen()
MsgBox "VBA macht Spaß !"
End Sub

Gruss aus Hannover
Detlev
www.Bieler.org
Anzeige
leider nicht das was ich wollte
20.01.2004 08:32:49
chris b
Is leider nicht das was ich wollte.
dacht mir ich kann irgendwo angeben modul2 oder so.Also hier meine ich
Set VBE = Application.VBE.ActiveCodePane.CodeModule
Set VBE = Application.VBE.Modul2.CodeModule
AW: Hinbekommen
20.01.2004 09:18:41
chris b
Habs jetzt doch noch hinbekommen.
folgende CodeZeile geändert !
Set VBE = Application.VBE.VBProjects(2).VBComponents.Item(4).CodeModule
in ->
Set VBE = Application.VBE.VBProjects(1).VBComponents.Item("Modul2").CodeModule
AW: Hinbekommen
20.01.2004 10:32:24
Detlev
Gratz,
auf die Anführungszeichen hätte ich auch kommen können!
Gruss
Detlev
www.Bieler.org

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige