Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: OptionButton GroupName variabel festlegen

OptionButton GroupName variabel festlegen
26.02.2008 07:56:00
jueho
Hallo Forum,
ich habe ein Arbeitsblatt mit mehreren OptionButtons, die über die GroupName Funktion in verschiedene Gruppen (Gruppe A, Gruppe B ...) eingeteilt wurden. Dieses Arbeitsblatt soll als Vorlage für weitere Arbeitsblätter dienen.
Nun möchte ich dieses Arbeitsblatt kopieren und anschließend das neue Arbeitsblatt umbenennen. Der GroupName sollte dabei aus dem Arbeitsblattnamen + dem Gruppennamen gebildet werden.
Wie kann ich den GroupName im Originalarbeitsblatt so variabel gestalten, dass er beim Kopieren des Arbeitsblattes automatisch angepasst wird?
Beispiel: Originalarbeitsblatt heißt "TAB00", der jeweilige GroupName heißt "TAB00A", "TAB00B" ...
Kopiertes und umbenanntes Arbeitsblatt heißt "TAB01", der jeweilige GroupName soll dann
heißen: "TAB01A", "TAB01B", .....
Vielen Dank für Eure Hilfe.
Gruß jueho

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: OptionButton GroupName variabel festlegen
26.02.2008 09:06:45
Hans
Hallo jueho,
als Möglichkeit (wenn es sich um Optionsfelder aus der Steuerelement-Toolbox, nicht aus der Formular-Symbolleiste handelt):

Sub SetGroupNames()
Dim shp As Shape
Dim sNew As String, sOld As String, sGroup As String
sOld = ActiveSheet.Name
sNew = "NewTable"
ActiveSheet.Copy
For Each shp In ActiveSheet.Shapes
If InStr(shp.Name, sOld) Then
sGroup = Replace(shp.Name, sOld, sNew)
shp.Name = sGroup
End If
Next shp
ActiveSheet.Name = sNew
End Sub


gruss hans

Anzeige
AW: OptionButton GroupName variabel festlegen
26.02.2008 10:16:03
jueho
Hallo Hans,
zunächst vielen Dank für die rasche Antwort.
Ich werden aber voraussichtlich erst heute Nachmittag daran arbeiten können. Gebe dann Rückmeldung.
Gruß
jueho

AW: OptionButton GroupName variabel festlegen
27.02.2008 14:26:00
jueho
Hallo Hans,
nochmals vielen Dank für Deine Hilfe. Habe das Problem (mit Hilfe eines weiteren Spezis) wie folgt gelöst (ist vielleicht auch für andere interessant):

Sub GName()
Dim MyObject As OLEObject
Dim MyNewTableName As String
MyNewTableName = InputBox("Bitte geben Sie den Namen des Tabellenblattes ein...", "Eingabe") _
If (MyNewTableName  "") Then
Sheets(1).Copy After:=Sheets(Sheets.Count)                      ' Kopieren des ersten  _
Tabellenblattes hinter das letzte Tabellenblatt
'        ActiveSheet.Name = "Blatt" + CStr(Sheets.Count - 1)             ' Umbenennen des neuen  _
Tabellenblattes. Format: Text + Zählindex (hier: Anzahl der Tabellenblätter - 1)
ActiveSheet.Name = MyNewTableName
For Each MyObject In ActiveSheet.OLEObjects                     ' Suche nach allen auf  _
dem Tabellenblatt platzierten Objekten....
If TypeName(MyObject.Object) = "OptionButton" Then          ' Auswahl der  _
Optionsfelder
' Zuweisen des  _
Gruppen-Namens. Format: "Name des Tabellenblattes" + Alter Gruppenname, mit Bindestrich verbunden
MyObject.Object.GroupName = ActiveSheet.Name + "-" + MyObject.Object.GroupName
End If
Next MyObject                                                       ' ... nächstes  _
Objekt
End If
End Sub


Gruss
jueho

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige