Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

Makrocode per Makro erstellen

Betrifft: Makrocode per Makro erstellen von: Andi
Geschrieben am: 12.08.2004 07:55:15

Morgen,

würde gerne Code für ein Tabellenblatt automatisch generieren. Wußte mal, wie es ging, habe es aber leider vergessen.
Wer kann mir helfen?

Gruß Andi

  


Betrifft: AW: Makrocode per Makro erstellen von: WernerB.
Geschrieben am: 12.08.2004 08:17:09

Hallo Andi,

schau mal auf dieser Seite unter "Services / Excel-FAQ / Excel-Beispiele / VBE"; da solltest Du fündig werden.


Gruß
WernerB.


  


Betrifft: AW: Makrocode per Makro erstellen von: Andi
Geschrieben am: 12.08.2004 08:22:50

Hi,

hab ich gemacht, hat mir aber nicht wirklich was gebracht.
Vielleicht weiß ja jemand noch etwas???

Gruß Andi


  


Betrifft: Zweifel kommen auf... von: Ramses
Geschrieben am: 12.08.2004 08:32:15

Hallo

"..hab ich gemacht, hat mir aber nicht wirklich was gebracht..."

Nun stelle ich doch berechtigte Zweifel am ersten Teil deiner Aussage an.
Dort ist ein Codebeispiel "Benutzerdefinierte Funktion durch Code erstellen und Löschen" in dem sowohl das Erstellen eines Makros per COde wie auch das Löschen des gleichen per VBA.

Wenn es dir nichts gebracht hat, dann solltest du mal schreiben warum.

Gruss Rainer


  


Betrifft: AW: Zweifel kommen auf... von: Andi
Geschrieben am: 12.08.2004 08:36:54

Hi,

ich möchte ja nicht Code für eine benutzerdefinierte Funktion generieren, sondern für ein Sheet.
Ich weiß nicht, wie ich das machen soll...
Wie ich Code generiere weiß ich, aber nicht wie ich ihn auf das Sheet bekomme.

Gruß Andi


  


Betrifft: AW: Zweifel kommen auf... von: Ramses
Geschrieben am: 12.08.2004 08:44:31

Hallo

Lies dir den NBeitrag 192902 "ComboBox mit Ereigniscode in Tabellenblatt erstellen"

Damit sollte deine Frage beantwortet sein.

Gruss Rainer


  


Betrifft: Leider nicht... von: Andi
Geschrieben am: 12.08.2004 08:54:14

Hi,

ich will keine Combobox oder sonstigen Objekte erstellen. Ich möchte lediglich Code für mein neu angelegtes Tabellenblatt generieren...
Hoffe das war verständlich ausgedrückt.

Gruß Andi


  


Betrifft: Noch offen... von: Ramses
Geschrieben am: 12.08.2004 09:01:03

Hallo

"...Hoffe das war verständlich ausgedrückt..."
Klar.

Wenn du das gelesen hättest, dann hättest du die Info erhalten wie man Code direkt in das Klassenmodul einer Tabelle schreibt.

Ich habe keine Ahnung was du effektiv vor hast,.... mit den Beispielen im VBE Bereich, sollte es ein leichtes für dich sein dein Problem zu lösen.
Wenn du schon schreibst: "... Wie ich Code genereiere weiss ich..." dann sollte es mit diesen Infos wirklich keine Problem mehr sein. Für mich ist das nicht nachvollziehbar, weil ich auch nicht weiss was du effektiv willst.


Mir ist das ganze nun doch etwas zu mühsam, deshalb klinke ich mich aus.

Gruss Rainer


  


Betrifft: Lösung von: Russi
Geschrieben am: 12.08.2004 09:27:21

Hallo Jungs!

Wie auch immer, vielleicht funktioniert das hier:

Dim StrMakroText
StrMakroText = _
"
Private Sub Workbook_Open()" & Chr(10) & _
        "    ActiveSheet.Shapes(""Object 1"").Select" & Chr(10) & _
        "    Selection.Verb Verb:=xlPrimary" & Chr(10) & _
        "End Sub
"

With ActiveWorkbook
.VBProject.VBComponents.Add (1)
.VBProject.VBComponents("DieseArbeitsmappe").CodeModule.AddFromString StrMakroText
End With

Diese Lösung habe ich erst diese Woche hier im Forum bekommen.

Viele Grüße
Russi
www.Russi.de.tt


  


Betrifft: AW: Noch offen... von: Andreas
Geschrieben am: 12.08.2004 09:40:22

Hi,

hier mal das was ich vor habe. Läuft leider nicht...

Sub Code_einfügen()
'Dim CP As Object

' CodePane für Tabelle2 finden
'For Each CP In Application.VBE.CodePanes
'If CP.codemodule.Name = "Tabelle2" Then
'Set Application.VBE.ActiveCodePane = CP
'End If
'Next
' Code einfügen
On Error Resume Next
With Application.VBE.ActiveCodePane.codemodule
.InsertLines .countoflines + 1, "
Private Sub CommandButton1_Click()"
.InsertLines .countoflines + 1, "Leere_Zellen_loeschen"
.InsertLines .countoflines + 1, "End Sub
"

.InsertLines .countoflines + 1, ""

.InsertLines .countoflines + 1, "
Private Sub Worksheet_Calculate()"
.InsertLines .countoflines + 1, "activesheet.Cells(activesheet.Cells(Rows.Count, 12).End(xlUp).Row + 1, 12) = [l5]"
.InsertLines .countoflines + 1, "activesheet.Cells(activesheet.Cells(Rows.Count, 13).End(xlUp).Row + 1, 13) = [m5]"
.InsertLines .countoflines + 1, "activesheet.Cells(activesheet.Cells(Rows.Count, 14).End(xlUp).Row + 1, 14) = [n5]"
.InsertLines .countoflines + 1, "activesheet.Cells(activesheet.Cells(Rows.Count, 15).End(xlUp).Row + 1, 15) = [o5]"
.InsertLines .countoflines + 1, "activesheet.Cells(activesheet.Cells(Rows.Count, 16).End(xlUp).Row + 1, 16) = [p5]"
.InsertLines .countoflines + 1, "activesheet.Cells(activesheet.Cells(Rows.Count, 17).End(xlUp).Row + 1, 17) = [q5]"
.InsertLines .countoflines + 1, "End Sub
"

.InsertLines .countoflines + 1, ""

.InsertLines .countoflines + 1, "
Private Sub Worksheet_activate()"
.InsertLines .countoflines + 1, "Doppelt"
.InsertLines .countoflines + 1, "End Sub
"
End With
End Sub

Wer kann helfen?

Gruß Andreas


 

Beiträge aus den Excel-Beispielen zum Thema "Makrocode per Makro erstellen"