Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1008to1012
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
ungültiger Bezeichner (Checkbox mit Variable)
15.09.2008 13:24:00
FM
Hallo,
ich baue momentan an einem Skript wo ich die Namen der tabs eines Workbooks auslese und dementsprechend CheckBox namen vergebe. Das sollte so ablaufen:
im ausgewählten Workbook werden die Tabs ausgelesen und dann wird der Checkbox name per Variable definiert. Ich habe 5 Blanko Checkboxes in der Userform die per default aus (visible = false) sind.
Ich hatte mir das dann folgendermassen vorgestellt:
Workbooks(wb_name).Activate ' wb_name = worbook name wenn mehrere offen sind
For i = 1 To Worksheets.Count
cb_zaehler = cb_zaehler + 1
cbcomb = "CB" & cb_zaehler ' die Checkboxes heissen : CB1 - 5
MsgBox cbcomb
cbcomb.Caption = Worksheets(i).Name
cbcomb.Visible = True
Next i
Also Fehlermeldung bekomme ich ungültiger Bezeichner, was ich auch verstehe, weil das objekt "cbcom"
anb sich existiert ja nicht in der Userform. Aber wie kann ich das dann machen ohne jede Checkbox einzeln per If schleife zu befüllen?
Bzw. generelle Frage. Ich hatte das davor über eine Listbox gelöst. Das ist zwar einfacher und schön aber ich hatte nicht die Möglichkeit mehrere Tabs auf einmal auszuwählen und bearbeiten zu lassen, sondern musste jedes mal neu durchlaufen lassen und davor auswählen. Gibt es ein Objekt welches Checkbox artig arbeitet aber per .Additem zu befüllen ist?
Danke im voraus und Gruss
Florian

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW:wenn du doch eine Listbox hast,...
15.09.2008 13:38:58
Chris
... Servus,
und das funktioniert hat, dann stell doch in den Eigenschaften den Multiselect ein.
Und setzte deinen Code in folgende Schleife:
For i = 0 to Listbox1.ListCount -1
If Listbox1.Selected(i) Then
"Dein Makro starten"
End if
Next i
Wenn du das so machst, kannst du mehrere Tabellenblätter auswählen und bearbeiten mit einem einzigen Click. Du musst evtl. deinen Code noch so anpassen, dass sichergestellt ist, dass auch das richtige Sheet bearbeitet wird.
Gruß
Chris
AW: AW:wenn du doch eine Listbox hast,...
15.09.2008 13:44:00
FM
ah vielen Dank. Das mit Multiselect war mir nicht bekannt.
AW: AW:wenn du doch eine Listbox hast,...
15.09.2008 14:06:00
FM
Hallo,
jetzt habe ich bzgl. dessen noch eine zusätzliche Frage.
Ich habe die Listbox jetzt auf extended multiselect. Kann auch meherer auswählen.
Ich würde nun gerne die Auswahl1 in variable 1 schreiben, Auswahl2 in Variable 2 usw..., sprich jeweils den Namen der Tabs von Auswahl 1 ... in eine variable, die ich dann später weiterverwerten kann.
wie kann man das bewerkstelligen?
Anzeige
AW: AW:wenn du doch eine Listbox hast,...
15.09.2008 14:30:00
Rudi
Hallo,
in ein Modul:

Public myListArray()


In der UF z.B.:


Private Sub CommandButton1_Click()
Dim n As Integer, i As Integer
ReDim myListArray(1 To ListBox1.ListCount)
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) Then
n = n + 1
myListArray(n) = ListBox1.List(i)
End If
Next i
ReDim Preserve myListArray(1 To n)
End Sub


Dann hast du die Namen im Array myListArray zur Verfügung.
Gruß
Rudi

AW: AW:wenn du doch eine Listbox hast,...
15.09.2008 14:43:30
FM
danke das hat mein Problem gelöst !

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige