Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

prozedur löschen

Forumthread: prozedur löschen

prozedur löschen
08.11.2012 14:05:40
Rolf
Hallo zusammen,
wie lässt sich mittels VBA eine Prozedur löschen und ersetzen, ohne dass gleich das gesamte Modul gelöscht wird.
Also:
Sub hans
[A1]="Torwart"
End Sub

löschen und ersetzen durch
Sub hans
[A1]="Stürmer"
End Sub

Gruß
Rolf H.

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: prozedur löschen
08.11.2012 15:02:21
Rudi
Hallo,
Sub aaa()
Dim vbc
Dim iStart, iAnzahl
Const sProc As String = "hans"
For Each vbc In ThisWorkbook.VBProject.VBComponents
If vbc.Type = 1 Then
On Error Resume Next
With vbc.codemodule
iStart = .ProcStartLine(sProc, vbext_pk_Proc)
iAnzahl = .ProcCountLines(sProc, vbext_pk_Proc)
If Err.Number = 0 Then
.DeleteLines iStart, iAnzahl
.InsertLines iStart, ""
.InsertLines iStart + 1, "Sub hans()"
.InsertLines iStart + 2, "  [A1]=""Stürmer"""
.InsertLines iStart + 3, "End Sub"
.InsertLines iStart + 4, ""
End If
End With
On Error GoTo 0
End If
Next
End Sub

Gruß
Rudi

Anzeige
AW: prozedur löschen
08.11.2012 15:55:00
Rolf
Hallo Rudi,
recht herzlichen Dank für deine schnelle und kompetente Antwort.
Noch eine Frage.
Wenn ich einem Modul eine neue Prozedur hinzufügen will, muss ich dann auch jede Zeile mit "InsertLines"
einzeln eingeben?
Gruß
Rolf

AW: prozedur löschen
08.11.2012 16:42:41
Rudi
hallo,
das kannst du auch per AddFromString
Sub yyy()
Dim vbc As Object
Dim sCode As String
Application.ScreenUpdating = False
sCode = "Sub Meldung()" & vbLf
sCode = sCode & "   MsgBox ""Hallo Welt!""" & vbLf
sCode = sCode & "End Sub"
Set vbc = ActiveWorkbook.VBProject.VBComponents("Modul1")
'oder neues Modul:
'Set vbc = ActiveWorkbook.VBProject.VBComponents.Add(1)
vbc.codemodule.addfromstring sCode
End Sub

sCode kannst du natürlich auch anders zusammenbasteln.
Gruß
Rudi

Anzeige
AW: prozedur löschen
08.11.2012 17:40:37
Rolf
Hallo Rudi,
jetzt habe ich genug Material, um - wie du sagst - zu basteln.
Nochmals vielen Dank
Gruß
Rolf
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18