Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1352to1356
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

ActiveX Optionsfelder

ActiveX Optionsfelder
10.03.2014 14:51:34
Uschi
Hi,
ich habe eine Datei mit einem Sheet, auf dem sehr viele ActiveX Optionsfelder sind. Über die Felder wird ein Wert für eine Beurteilung ermittelt. Soweit, so gut.
Nun soll aber derjenige, der die Beurteilung erstellt, das Hauptblatt einfach kopieren und in dieselbe Mappe einfügen um eine neue Beurteilung zu erstellen.
Und o Schreck habe ich nun festgestellt, daß die Optionsfelder ihren Gruppennamen behalten auf dem kopierten Blatt.
Wenn also auf dem 2. Blatt die 2. Beurteilung erstellt wird, ändern sich auch die Werte vom ersten Blatt.
Kann man das irgendwie vermeiden?
Die Lösung mit Formularfeldern wäre machbar, da ändert sich der Gruppenfeldname beim Kopieren des Blattes.
Eine Lösung mit ActiveX Feldern wäre mir aber lieber.
Vielen Dank schon mal.

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ActiveX Optionsfelder
11.03.2014 12:10:02
fcs
Hallo Uschi,
da müsste dann per Makro das Hauptblatt kopiert und die GroupName-Eigenschaft der OptionsButoons systematisch angepasst werden.
Dazu muss auf einem anderen -ggf. auch ausgeblendeten- Tabellenblatt ein Zähler mitgeführt werden, der registriert, wie oft das Hauptblatt kopiert wurde. Der Zähler dient dann dazu, den GroupName der Optionsschaltflächen systematisch umzubenennen.
Nachfolgend ein entsprechendes Makro.
Gruß
Franz
Sub Beurteilung_erstellen()
Dim wksNeu As Worksheet, objOLEObject As OLEObject
Dim newGrpName As String
Dim AnzCopy As Integer, strCopy As String
With ActiveWorkbook
'Kopienzähler um 1 erhöhen
With .Sheets("CopyZaehler") 'Name ggf anpassen
With .Range("B2") 'Zelle mit Zähler für Anzahl Kopien von Hauptblatt
AnzCopy = .Value + 1
.Value = AnzCopy
End With
strCopy = Format(AnzCopy, "_00") 'Zähler formatiert als Ergänzung zu den Gruppennamen.
End With
'Hauptblatt kopieren
.Sheets("Hauptblatt").Copy before:=ActiveWorkbook.Sheets(1)
End With
Set wksNeu = ActiveSheet
With wksNeu
'kopiertes Blatt umbenennen
.Name = "Beurteilung" & strCopy     'Name ggf anpassen
'GroupName der Optionsschaltflächen in Kopie anpassen.
For Each objOLEObject In .OLEObjects
With objOLEObject
If .OLEType = 2 Then '2=xlOLEControl
If InStr(.progID, "OptionButton") > 0 Then
If .Object.GroupName = "" Then
newGrpName = ""
Else
newGrpName = .Object.GroupName & strCopy
End If
.Object.GroupName = newGrpName
End If
End If
End With
Next
End With
End Sub

Anzeige
AW: ActiveX Optionsfelder
11.03.2014 15:21:32
Uschi
Danke Franz!
Nun habe ich es aber doch mit Formular Elementen gelöst, da heute Morgen noch keine Antwort da war.
Ist zwar ziemlich doof diese Formular Felder zu setzten und Gruppenfelder drumrumzuziehen, aber nun ist es geschafft.
LG
Uschi

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige