Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1324to1328
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 VBA Steuerelement einfügen

Per VBA Steuerelement einfügen
19.08.2013 14:02:19
Birgit
Hallo!
ich möchte mittels VBA ein Steuerelement in ein Tabellenblatt einfügen ; da jedoch Excel bei jeden neuen Steuerelement weiter zählt funktioniert mein Code leider nicht:

Sub Makro9()
' Makro9 Makro
Sheets("ACT ").Select
Range("G1").Select
ActiveSheet.Buttons.Add(453, 10.5, 105, 36).Select
Selection.OnAction = "AlleAus"
ActiveSheet.Shapes("BACK CLOSE ALL").Select
Selection.Characters.Text = "BACK CLOSE ALL"
With Selection.Characters(Start:=1, Length:=14).Font
.Name = "Calibri"
.FontStyle = "Fett"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 32
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
Range("F2").Select
End Sub

Kann man bei der Erstellung des Steuerelements den Namen schon vergeben; damit ich dieses Problem übergehen kann?
Danke schon im Voraus!

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Per VBA Steuerelement einfügen
19.08.2013 15:03:25
Doris
Hallo Birgit,
Habe Dein Makro mal etwas entschlackt und lege drei Test-Button im Sheets("ACT ") an. Bei mir hat es geklappt.
und hier der Code
Sub Makro_test()
Sheets("ACT ").Select
ActiveSheet.Buttons.Add(10, 10.5, 105, 36).Select
Selection.OnAction = "test"
Selection.Characters.Text = "test"
With Selection.Characters(Start:=1, Length:=14).Font
.Name = "Calibri"
.FontStyle = "Fett"
.Size = 11
.ColorIndex = 32
End With
ActiveSheet.Buttons.Add(200, 10.5, 105, 36).Select
Selection.OnAction = "test2"
Selection.Characters.Text = "test2"
With Selection.Characters(Start:=1, Length:=14).Font
.Name = "Calibri"
.FontStyle = "Fett"
.Size = 11
.ColorIndex = 32
End With
ActiveSheet.Buttons.Add(400, 10.5, 105, 36).Select
Selection.OnAction = "test3"
Selection.Characters.Text = "test3"
With Selection.Characters(Start:=1, Length:=14).Font
.Name = "Calibri"
.FontStyle = "Fett"
.Size = 11
.ColorIndex = 32
End With
End Sub
Tip : Das ist das Problem Beim Makro aufzeichnen. Kriegst viel unnötiges Zeug. Alles was mit no belegt ist kannst du rausschmeissen. Im Zweifelsfall habe ich mich immer rangetasten und Zeilen im Code auf Kommetar gesetzt.
Gruß Doris

Anzeige
AW: Per VBA Steuerelement einfügen
19.08.2013 15:17:45
Birgit
Hallo!
Super - vielen vielen Dank es funkioniert!
Gruß Birgit

AW: Per VBA Steuerelement einfügen
19.08.2013 15:16:41
fcs
Hallo Birgit,
du kannst den Namen direkt bei der Steuerelement-Erstellung vergeben.
Der Name darf auf jedem Tabellenblatt aber immer nur einmal vergeben werden.
Bei mir gab es beim Testen Probleme bei der Formatierung der Schaltflächenbeschriftung. Deshalb hab ich 2 Zeilen auskommentiert.
Wahrscheinlich hat dir hier der Makrorecorder einen Streich gespielt, der das Umbenennen der Schaltfläche nicht aufgezeichnet hat, wohl aber die anschliessende Selektion der Schaltfläche.
Gruß
Franz
Sub Makro9()
' Makro9 Makro
Sheets("ACT ").Select
Range("G1").Select
ActiveSheet.Buttons.Add(453, 10.5, 105, 36).Select
With Selection
.OnAction = "AlleAus"
.Name = "BACK CLOSE ALL"
.Characters.Text = "BACK CLOSE ALL"
With .Characters.Font
.Name = "Calibri"
.FontStyle = "Fett"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = 32
'.TintAndShade = 0
'.ThemeFont = xlThemeFontNone
End With
End With
Range("F2").Select
End Sub

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge