2016-03-31 5 views
1
Dim CodePan As VBIDE.CodeModule 
Dim S As String 
Dim x As String 
x = showSheet 
Set CodePan = ThisWorkbook.VBProject.VBComponents("Module2").CodeModule 
S = _ 
    "Sub ABCx()" & vbNewLine & _ 
    " MsgBox ""Hello World"",vbOkOnly" & vbNewLine & _ 
    "End Sub" & vbNewLine 
With CodePan 
    .InsertLines .CountOfLines + 1, S 
End With 

Ich füge etwas Code in das andere Modul von einem Modul ein. Hier habe ich ein Problem, ich möchte meinen Sub-Namen als ABCshowSheet für das habe ich als ABCx hinzugefügt, aber wegen der S-Variable in den Anführungszeichen kommt es als ABCx anstelle von ABCshowSheet gibt es keine Möglichkeit, ich kann den Wert der Variable ersetzenErsatzvariablenwert in Anführungszeichen

S = Replace(S,"ABCx", "ABC" & x) 

ich habe es auf diese Weise (statt der einfacheren Replace(S,"x",x)) zum Schutz gegen mögliche Fehler, wenn der Code später ist: auch wenn es in doppelten Anführungszeichen

+0

Sie werden Ihren Code nicht einrücken! – Jeeped

Antwort

0

Betrachten sie es als ein Problem in String-Substitution so modifiziert, dass das Symbol x in einem anderen Kontext in der Zeichenfolge erscheint. Ich bin nicht sicher, warum Sie einen Platz in S vor dem () in ABCx() haben.

+0

Hallo John, Danke für die Hilfe. Sorry Platz ist mein Tippfehler. – surendra

Verwandte Themen