Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
880to884
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
880to884
880to884
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schaltflächen-Code per Makro

Schaltflächen-Code per Makro
02.07.2007 18:15:00
Harald
Hallo,
jetzt habe ich ewig gesucht und leider nicht gefunden.
Mein Problem:
-) ich erzeuge per VBA ein neues Arbeitsblatt
-) dort erzeuge ich eine Schaltfläche:
ActiveSheet.OLEObjects.Add ClassType:="Forms.CommandButton.1", _
Link:=False, DisplayAsIcon:=False, _
Left:=50, Top:=6 + AW_Zeile * 12.75, Width:=200, Height:=30
ActiveSheet.OLEObjects("CommandButton1").Object.Caption = "Übersicht zum gewählten Auftrag"
-) Wie kann ich nun den dazu gehörenden Code per Makro eintragen?
LG,
Harald

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schaltflächen-Code per Makro
02.07.2007 19:54:00
Nepumuk
Hallo Harald,
Beispiel:
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Const AW_Zeile = 20

Public Sub test()
    Dim objSheet As Worksheet
    Dim objButton As OLEObject
    Set objSheet = Worksheets.Add(After:=Worksheets(Worksheets.Count))
    With ThisWorkbook.VBProject.VBComponents(objSheet.Name).CodeModule
        .DeleteLines 1, .CountOfLines
        .InsertLines 1, "

Private Sub CommandButton1_Click()"

        .InsertLines 2, " MsgBox ""Hallo"""
        .InsertLines 3, "End Sub

"


    End With
    objSheet.Name = Format(Date, "mmm_yy")
    Set objButton = objSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
        Link:=False, DisplayAsIcon:=False, _
        Left:=50, Top:=6 + AW_Zeile * 12.75, Width:=200, Height:=30)
    objButton.Object.Caption = "Übersicht zum gewählten Auftrag"
End Sub

Für den zusätzlichen Umbruch in der Darstellung kann ich nichts. das erzeugt die Forensoftware von Hans.
Hier das ganze nochmal als Bild:
Userbild
Gruß
Nepumuk

Anzeige
AW: Schaltflächen-Code per Makro
02.07.2007 20:37:00
Harald
Hallo Nepumuk,
danke für die Info.
Noch zwei Ergänzungsfragen:
1) Wie weise ich dem objSheet das aktive Sheet zu? Denn folgendes geht nicht:
Set objSheet = ThisWorkbook.ActiveSheet
2) Wenn man die Makrosicherheit für Projekte nicht abschaltet bekommt man den Laufzeitfehler 1004. Da ich die Datei ja an andere weitergeben möchte: kann man das umgehen?
LG,
Harald

AW: Schaltflächen-Code per Makro
02.07.2007 20:42:24
Nepumuk
Hallo Harald,
Zu 1. Du hast geschrieben, dass du eine neue Tabelle hinzufügst. Also warum dann ActiveSheet ?
Zu 2. Nein, das kannst du vergessen.
Gruß
Nepumuk

AW: Schaltflächen-Code per Makro
02.07.2007 20:45:08
Harald
Hallo Nepumuk,
zu 1: Die Tabelle wird "irgendwo" zu Beginn angelegt und ich möchte "irgendwann" den Code dorthin schreiben. Geht das mit ActiveSheet oder ähnlich?
LG,
Harald

Anzeige
AW: Schaltflächen-Code per Makro
02.07.2007 21:02:00
Nepumuk
Hallo Harald,
wenn es ein definiertes Sheet ist, dann versuch es doch einfach so:
Public Sub test()
    Dim objSheet As Worksheet
    Set objSheet = Worksheets("Tabelle1")
    MsgBox objSheet.Name
End Sub

Gruß
Nepumuk
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige