Buttons per VBCode erstellen

  • #1
F

finisterra

Guest
Hi,

Ich will per Macro ein Tabellenblatt erstellen (->funktioniert) und auf diesem soll ein Button erstellt werden, ich habe es wie folgt probiert aber da kommt ein Automatisierungsfehler. Kann mir jemand helfen?

'Button einfügen

ActiveSheet.OLEObjects.Add(ClassType:=Forms.CommandButton.1_
, Link:=False, DisplayAsIcon:=False, Left:=330, Top:=10, Width:=100_
, Height:=20).Select
With Application.VBE.ActiveVBProject.VBComponents(Tabelle & j +_ 1).CodeModule
.InsertLines 7, Private Sub CommandButton1_Click()
.InsertLines 8, Sheets(1).Select
.InsertLines 9, End Sub
End With
 
  • #2
Hi finisterra,

probier es mal so:
Code:
Sub xxx()
  ActiveSheet.OLEObjects.Add(ClassType:=Forms.CommandButton.1 _
  , Link:=False, DisplayAsIcon:=False, Left:=330, Top:=10, Width:=100 _
  , Height:=20).Select
  With Application.VBE.ActiveVBProject.VBComponents(ActiveSheet.Name).CodeModule
          .InsertLines 7, Private Sub CommandButton1_Click()
          .InsertLines 8, Sheets(1).Select
          .InsertLines 9, End Sub
  End With
End Sub

Gruß Matjes  :)
 
  • #3
Hi Matjes,

Danke für deine Hilfe, leider funktioniert es auch nicht. Ich werde es auf anderem Wege versuchen.

MfG

Finisterra
 
  • #4
Hi finisterra,

hab mir das noch mal etwas genauer angeschaut.

Wenn ich das richtig interpretiere, möchtest Du per  Makro einen Command-Button auf einem Tabellenblatt einfügen. Bei Betätigen des Command-Button soll das Arbeitsblatt mit Index 1 aktiviert werden.

Dann versuch es mal damit:
Code:
Sub ButtonMitSprungzielBlatt1Einfuegen()
  Dim ws As Worksheet, oobjs As OLEObjects, cmdobj As OLEObject
  Dim l_anz As Long
  
  Set ws = ActiveSheet
  Set oobjs = ws.OLEObjects
  Set cmdobj = oobjs.Add(ClassType:=Forms.CommandButton.1, _
                Left:=330, Top:=10, Width:=100, Height:=20)
  cmdobj.Object.Caption = -->  & Worksheets(1).Name
  With Application.VBE.ActiveVBProject.VBComponents(ws.Name).CodeModule
    l_anz = .CountOfLines
    .InsertLines l_anz + 1, _
      Private Sub  & cmdobj.Name & _Click() & vbLf & _
      Worksheets(1).Activate & vbLf & _
      End Sub
  End With
  Set ws = Nothing: Set oobjs = Nothing: Set cmdobj = Nothing
End Sub

Gruß Matjes :)
 
  • #5
Das sieht schon besser aus :) button wird erstellt aber irgend ein Indexfehler kommt jetz, mal schauen vllt krieg ich den selber hin, wenn nich wirst du es erfahren. Vielen Dank erstmal

MfG

Finisterra
 
  • #6
Also ich hab den Index (wo der Code eingefügt wird) rausgenommen und wo anders eingebaut. Funzt Prima, vielen dank nochmal

;D
 
Thema:

Buttons per VBCode erstellen

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.965
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben