Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1036to1040
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
Inhaltsverzeichnis

Per Makro ein Makro unter CommandButton einfügen

Per Makro ein Makro unter CommandButton einfügen
05.01.2009 09:12:15
Andi
Hallo liebe Excel Gemeinde,
Ich hoffe Ihr seid alle gut ins neue Jahr gekommen!
Ich benötige eine Lösung für folgendes Problem:
Ich möchte gerne versuchen per makro in einen eben erstellten Commandbutten ein Makro zu schreiben.
Den commandbutten zu erstellen und seine Eigenschaften zu ändern hab ich bereits herausgefunden.
Wie kann ich jetzt automatisch ein makro einfügen das per click event des commandbuttons gestartet wird.
Vielen Dank schon mal für eure hilfe
Gruß andi

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Per Makro ein Makro unter CommandButton einfügen
05.01.2009 10:21:38
Tino
Hallo,
hier mal ein Beispiel.
Es wird ein Commandbutton erstellet im Bereich D2:F3 und ein Makro in die Tabelle1 geschrieben, dass bei Click ausgeführt wird.
Dem Zugriff auf VBA Projekte, muss aber vertraut werden!

Sub Makro1()
Dim strCode As String
Dim myButton As OLEObject
Dim Zelle As Range
Set Zelle = Range("D2:F3")
With Zelle
Set myButton = Tabelle1.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _
, DisplayAsIcon:=False, Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
End With
strCode = _
"Private Sub " & myButton.Name & "_Click()" & Chr(10) & _
" MsgBox ""test erfolgreich bestanden""" & Chr(10) & _
"End Sub"
With ThisWorkbook.VBProject.VBComponents(Tabelle1.CodeName).CodeModule
.InsertLines .CountOfLines + 1, strCode
End With
End Sub


Gruß Tino

Anzeige
AW: Per Makro ein Makro unter CommandButton einfügen
05.01.2009 12:58:00
Andi
Danke Tino,
aber wenn ich deinen code einfüge und laufen lasse bricht excel aufgrund eines Problems ab.
Irgendwas scheine Ich falsch zu machen.
Liegt das vieleicht daran, dass ich den Code aus einem anderen Workbook starten lasse?
Gruß Andi
AW: Per Makro ein Makro unter CommandButton einfügen
05.01.2009 13:08:26
D.Saster
Hallo,

Liegt das vieleicht daran, dass ich den Code aus einem anderen Workbook starten lasse?


Ja.
Gruß
Dierk

AW: Per Makro ein Makro unter CommandButton einfügen
05.01.2009 13:51:43
Tino
Hallo,
am einfachsten ist es, die entsprechende Datei und dass entsprechende Tabellenblatt zu aktivieren.
Beispiel:

Sub Makro1()
Dim strCode As String
Dim myButton As OLEObject
Dim Zelle As Range
Workbooks("Mappe2.xls").Activate
Sheets("Tabelle1").Select
Set Zelle = Range("D2:F3")
With Zelle
Set myButton = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", _
Link:=False, DisplayAsIcon:=False, Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
End With
strCode = _
"Private Sub " & myButton.Name & "_Click()" & Chr(10) & _
" MsgBox ""test erfolgreich bestanden""" & Chr(10) & _
"End Sub"
With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule
.InsertLines .CountOfLines + 1, strCode
End With
End Sub


Gruß Tino

Anzeige
AW: Per Makro ein Makro unter CommandButton einfügen
07.01.2009 08:03:00
Andi
Hi Tino,
Vielen Dank für deine Hilfe.
Das mit dem Commandbutton klaptt schon mal und den Code schreibt das programm auch, allerdings bekomme ich nen Syntaxfehler und ich denke das liegt an den doppelten "" in ener Zeile. Hier der Code den ich in das zweite workbook schreiben möchte:
strCode = _
"

Private Sub commandbutton1_Click()" & vbCrLf & _
"Dim Pfad as string" & vbCrLf & _
"Dim adress as string" & vbCrLf & _
"Dim sheetname as string" & vbCrLf & _
"Pfad = activeworkbook.Path" & vbCrLf & _
"sheetname = ActiveSheet.Name" & vbCrLf & _
"adress = activeworkbook.fullname" & vbCrLf & _
"Workbook.Open(Pfad & "\trial.xls")" & vbCrLf & _   Hier entsteht das Problem
"Call Tester(Pfad,sheetsname)" & vbCrLf & _
"End Sub

"
Gruß Andi

Anzeige
AW: Per Makro ein Makro unter CommandButton einfügen
07.01.2009 17:18:54
Tino
Hallo,
nicht getestet, so müsste Dein Code als String aussehen.

strCode = _
"Private Sub commandbutton1_Click()" & Chr(10) & _
"Dim strPfad As String, strAdress As String" & Chr(10) & _
"Dim strName As String" & Chr(10) & "" & Chr(10) & _
"strPfad = ActiveWorkbook.Path" & Chr(10) & _
"strName = ActiveSheet.Name" & Chr(10) & _
"strAdress = ActiveWorkbook.FullName" & Chr(10) & _
"Workbooks.Open strPfad & ""\trial.xls""" & Chr(10) & _
"Call Tester(strPfad, strName)" & Chr(10) & _
"End Sub"


Gruß Tino

Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige