Thema Datum  Von Nutzer Rating
Antwort
26.08.2010 14:13:18 mistamacro
NotSolved
Blau Aw:VBA Code durchsuchen
31.08.2010 18:56:09 Severus
NotSolved
12.09.2010 21:23:02 mistermacro
NotSolved

Ansicht des Beitrags:
Von:
Severus
Datum:
31.08.2010 18:56:09
Views:
814
Rating: Antwort:
  Ja
Thema:
Aw:VBA Code durchsuchen
mistamacro schrieb am 26.08.2010 14:13:18:

Hallo!

Weiss jemand ob es eine möglichkeit gibt, einen Code selbst durch einen Code zu durchsuchen und teile zu ersetzen?
Also zum Beispiel in einem Sub nach der Zahl 13 zu suchen und diese mit 14 (oder einer fortlaufenden zahl) zu ersetzen?
Möchte Tabellenblätter kopieren die ein Macro enthalten welches dann aber angepasst werden muss.
Ev. gibts auch eine ganz andere möglichkeit?

Währe froh um eine antwort
Anias

habe bisher das hier mit Userform versucht, funktioniert aber nicht! debugg endet bei "For Each V In...."


Sub Zeichen_im_VBA_Code_ersetzen()

Dim m As Object, v As Object, VBACode As String
Dim SuchString As String, ErsatzString As String

SuchString = "Debug.Print" 'oder Textbox1.Value
ErsatzString = "MsgBox" 'oder Textbox2.Value

For Each v In ThisWorkbook.VBProject.VBComponents
If v.Name <> "UserForm1" Then
Set m = v.CodeModule
If m.CountOfLines > 0 Then
VBACode = m.Lines(1, m.CountOfLines)
VBACode = Replace(VBACode, SuchString, ErsatzString)

m.DeleteLines 1, m.CountOfLines
m.InsertLines 1, VBACode
End If
End If
Next v
End Sub


Das blick ich leider nicht ganz! Wenn Du ein Tabellenblatt kopierst und dann einmal den Code anpassen musst dann mach das doch ganz einfach mit normalem suchen und erstetzen im Code.
Wenn es sich um Werte handelt, die Du öfter anpassen mußt dann speichere sie doch in einem unsichtbaren Tabellenblatt und lass den Code sie dort auslesen.
Dann genügt ein Code-Dreizeiler wie

Sub aendern()
Thisworkbook.Sheets("Versteckt").Range("A1") = 13
End Sub

zum ändern und im Arbeitscode hast Du dann eben
lngZahl = Thisworkbook.Sheets("Versteckt").Range("A1")

Severus

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
26.08.2010 14:13:18 mistamacro
NotSolved
Blau Aw:VBA Code durchsuchen
31.08.2010 18:56:09 Severus
NotSolved
12.09.2010 21:23:02 mistermacro
NotSolved