Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Aus AddIn neue Arbeitsmappe mit Code erstellen

Gruppe

Prozedur

Problem

Nach Abfrage soll über die Workbook_Open-Prozedur eine neue Arbeitsmappe mit Button und Code erstellt werden.

Lösung
Geben Sie den Ereigniscode in das Klassenmodul der Arbeitsmappe ein.

ClassModule: DieseArbeitsmappe

Private Sub Workbook_Open()
   Dim oBtn As Button
   Dim vbc As Object
   Dim sCode As String
   If MsgBox( _
      prompt:="Neue Arbeitsmappe erstellen?", _
      Buttons:=vbYesNo + vbQuestion) = vbNo Then Exit Sub
   Application.ScreenUpdating = False
   sCode = "Sub Meldung()" & vbLf
   sCode = sCode & "   MsgBox ""Hallo Welt!""" & vbLf
   sCode = sCode & "End Sub"
   Workbooks.Add 1
   Set vbc = ActiveWorkbook.VBProject.VBComponents.Add(1)
   vbc.codemodule.addfromstring sCode
   Set oBtn = ActiveWorkbook.ActiveSheet.Buttons.Add(60, 12, 120, 25)
   oBtn.Caption = "Meldung"
   oBtn.OnAction = ActiveWorkbook.Name & "!Meldung"
   Application.ScreenUpdating = True
End Sub

    

Beiträge aus dem Excel-Forum zu den Themen VBE und Prozedur