Code Generierung VBA
24.03.2009 17:32:30
jolago
hab folgendes Problem:
Generiere über eine Subroutine den VBA Code einer Ereignisprocedur zu einem Button "CommandButton2_Click()" zu einem Tabellenblatt. Wenn der Code geschrieben ist springt die Ansicht aus der Excel Tabellenansicht in die Programmierumgebung. Was muß ich tun um nach dem schreiben des Codes in der Excel Tabellenansicht zu bleiben ?
Vielen Dank schon mal !
Code:
Sub WB_Code_via_VBA()
Const WS As String = "Tabelle1"
Dim WB As Workbook
Dim VBC As Object
Dim LineNr
On Error GoTo Failure
Application.ScreenUpdating = False
'a = Application.ActiveWindow.Index
Set WB = ActiveWorkbook
'Testen ob Code schon besteht
For i = 1 To WB.VBProject.VBComponents(WS).CodeModule.CountOfLines
If WB.VBProject.VBComponents(WS).CodeModule.Find("CommandButton2_Click", 1, 1, 18, 1) Then _
GoTo Failure
Next
'Code schreiben wenn noch nicht vorhanden
With WB.VBProject.VBComponents(WS).CodeModule
LineNr = .CreateEventProc("Click", "CommandButton2")
.InsertLines LineNr + 1, "''Code wurde durch Makro eingefügt!"
.InsertLines LineNr + 2, "MsgBox ""Ich werde durch Worksheet_activate angezeigt! "", _
64, ""Hinweis..."""
End With
Application.ScreenUpdating = True
Exit Sub
Failure:
MsgBox ("failure")
Application.ScreenUpdating = True
End Sub