Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1372to1376
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

OptionButton limit?

OptionButton limit?
11.08.2014 12:46:26
kreimer
Beim kopieren von Worksheets werden die OptionButtons nicht übernommen bzw. sieht es so aus als würden sie im Entwurfsmodus beleiben. Um den Fehler zu reproduzieren hab ich ein Worksheet mit 10 OptionsButtons angelegt und dieses mit einem Makro kopiert. Beim ersten Aufruf des Makros können ca. 70 Sheets angelegt werden (Makro stürzt ab, da dem Button kein GroupName zugeordnet werden kann). Wenn ich alle Sheets wieder lösche und das Makro nochmal aufrufe können nur mehr 25 Sheets angelegt werden (bleibt dann in weiterer Folge ziemlich konstant. (Windows 7, Excel 2013 32Bit)
https://www.herber.de/bbs/user/92014.xlsm

Sub CopySheets()
Dim i, j As Integer
For i = 2 To 255
Application.StatusBar = "Create POS" & i & " ..."
Debug.Print "Create POS" & i & " ..."
Pos1.Copy Before:=Pos1
Sheets("Pos1 (2)").Name = "Pos" & i
Sheets("Pos" & i).OptionButton1.GroupName = "A" & i
Sheets("Pos" & i).OptionButton2.GroupName = "A" & i
Sheets("Pos" & i).OptionButton3.GroupName = "A" & i
Sheets("Pos" & i).OptionButton4.GroupName = "B" & i
Sheets("Pos" & i).OptionButton5.GroupName = "B" & i
Sheets("Pos" & i).OptionButton6.GroupName = "B" & i
Sheets("Pos" & i).OptionButton7.GroupName = "C" & i
Sheets("Pos" & i).OptionButton8.GroupName = "C" & i
Sheets("Pos" & i).OptionButton9.GroupName = "C" & i
Sheets("Pos" & i).OptionButton10.GroupName = "C" & i
Next
End Sub
Sub DelSheet()
Dim ws As Worksheet
Application.DisplayAlerts = False
For Each ws In ActiveWorkbook.Worksheets
Debug.Print ws.Name
If ws.Name = "Pos1" Then
Else
ws.Delete
End If
Next
Application.DisplayAlerts = True
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: OptionButton limit?
11.08.2014 13:33:03
Daniel
Hi
könnte mir schon vorstellen, dass hier ein Speicherplatzproblem vorliegt.
diese Objekte sind ja nicht ganz ohne.
Workarounds wären:
- anstelle jeder Optionbuttongruppe eine Listbox oder Combobox verwenden.
das reduziert die Anzahl der benötgten Objekte und du musst auch keine Gruppierung vornehmen.
- über eine entsprechende Programmierung des Doppelklickevents kannst du auch normale Zellen zu Optionbuttons umfunktionieren. Das Doppelklickevent kann auch im Modul "DieseArbeitsmappe" erstellt werden, so dass es dann für alle Blätter gilt (dann brauchst du im Code wirklich nur die Sheets zu kopieren)
ob die zweite Variante funktioniert hängt vom Aufbau deiner Blätter, aber diese Variante ist die diejenige mit dem geringsten Resourcenbedarf.
Gruß Daniel

Anzeige
AW: OptionButton limit?
11.08.2014 16:38:03
kreimer
Danke für die Antwort, aber ein Workaround nutzt mir nicht viel. Es geht um ein "altes" Excel Tool welches sehr stark in Verwendung ist. Bis Dato hat es immer funktioniert (d.h. vor Office 2013). In älteren Excel Versionen können bis zu 2000 Buttons ohne Probleme angelegt werden. Mein Tool war nur ein Proof of concept um die Grenzen auszuloten.

AW: OptionButton limit?
11.08.2014 16:58:15
Daniel
Hi
Informationen zu den Limits von Excel und VBA findest du hier:
http://www.xlam.ch/xlimits/index.htm
da sollte irgendwo aufgelistet sein, wieviele Buttons deine Version verträgt und wovon das abhängt.
bei mir (Excel 2010) läuft das Makro bis c.a. 230 neuen Blättern.
Gruß Daniel

Anzeige
AW: OptionButton limit?
12.08.2014 12:46:37
Ewald
Hallo,
wenn es nur 25 Tabellen sind,bei der in der letzten Tabelle die Optionsbutton scheinbar im Entwurfsmodus sind, so könnte es die Office-Zwischenablage sein.
Deaktiviere in den Optionen "Sammeln ohne Anzeige der Office-Zwischenablage"
Wenn du in Pos1 die Gruppen der Optionsbutton setzt,brauchst du die auch nicht erneut zu setzen. Gruppen gelten immer für eine Tabelle und können dann in einer anderen Tabelle auch gleich sein.
Mit folgendem einfachen Code lassen sich 200 Tabellen problemlos erstellen.
Sub Copy()
Dim i As Long
For i = 2 To 200
Sheets("Pos1").Copy Before:=Sheets("Pos1")
ActiveSheet.Name = "Pos" & i
Next
End Sub
Da du 2013 hast,solltest du auch mal schauen ob du auch das neueste Update draufhast,da gab es einige Probleme die MS behoben hat.
Gruß Ewald
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige