Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1144to1148
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
CheckBoxen variabel in UserForm laden
Rainer
Hallo,
nach dem was ich hier bislang alles gelesen habe, ist meine Frage, "Ist es möglich ..." vermutlich fehl am Platze.
Möchte anstelle der in der Beispielmappe eingefügten Kontrollkästchen diese in einer UserForm (oder Listbox mit Kontrollkästchen) haben.
Die Anzahl ist von Zelle H10 abhängig (im Bsp. zwei, können jedoch bis zu 40 sein).
Bezogen auf die Beispielmappe soll:
Erstes Kontrollhäckchen (= Ziffer 1 in Spalte B ( hier B59 ) soll als Text Zelle H72 und K72 haben und mit Zelle O61 verknüpft sein.
Zweites und jedes weiter beginnt immer in selbem Abstand nach unten.
Die Anzahl wird durch Zelle H10 bestimmt. Folglich in der Beispielmappe nur zwei.
Da es bis zu 40 sein könnten, könnte die UserForm1 sinnvoll sein, welche mir mal von Hr. Herber für andere Zwecke erstellt wurde.
Nur: Den Code bekomme ich nicht geändert. (Für den Fall, dass ich unglücklich geschildert habe, habe ich UserForm3 eingefügt)
Könnte mir da jemand einen ersten Ansatz liefern?
Gruß Rainer
Beispielmappe: https://www.herber.de/bbs/user/68533.xls

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

Betreff
Benutzer
Anzeige
AW: CheckBoxen variabel in UserForm laden
13.03.2010 09:45:34
fcs
Hallo Rainer,
nachfolgend der angepasste Code für das Userform frmForm1.
Im Userform-Editor muss du zusätzlich für die Listbox die Eigenschaft "ColumnCount" auf 3 ändern. ggf. auch noch die Breite der Listbox (Width) und die Spaltenbreiten (ColumnWidths) anpassen
Gruß
Franz
Option Explicit
Dim wks As Worksheet, AnzJahre As Long
Const Zeile1 As Long = 25 'Zeile mit 1. Eintrag in Spalte B
Const DeltaZeilen = 17    'Anzahl Tabellen-Zeilen pro Jahr
Private Sub cmdCancel_Click()
Unload Me
End Sub
Private Sub cmdOK_Click()
Dim iLst As Integer
With lstProdukte
For iLst = 0 To .ListCount - 1
wks.Range(.List(iLst, 2)).Value = .Selected(iLst)
Next iLst
End With
Unload Me
End Sub
Private Sub UserForm_Initialize()
Dim Zeile As Long
Dim iJahre As Long
Set wks = Worksheets("Menu")
AnzJahre = wks.Range("H10")
If AnzJahre > 1 Then
'1. Jahr suchen in Spalte B
Zeile = Zeile1
Do Until wks.Cells(Zeile, 2) = 1
Zeile = Zeile + DeltaZeilen
If wks.Cells(Zeile, 2) = "" Then
MsgBox "Keinen Eintrag mit 1 gefunden"
Exit Sub
End If
Loop
'Daten der Anzahl Jahre in Listbox einlesen
Do Until wks.Cells(Zeile, 2) > AnzJahre Or wks.Cells(Zeile, 2) = ""
With lstProdukte
.AddItem "Jahr " & Year(wks.Cells(Zeile, 2).Offset(0, 4).Value) & "/" _
& Year(wks.Cells(Zeile, 2).Offset(12, 4).Value) 'Jahr von/bis
.List(.ListCount - 1, 1) = wks.Cells(Zeile, 2).Offset(13, 9).Text 'Prozent
.List(.ListCount - 1, 2) = _
wks.Cells(Zeile, 2).Offset(2, 13).Address(ReferenceStyle:=xlA1) 'LinkZell
.Selected(.ListCount - 1) = wks.Cells(Zeile, 2).Offset(2, 13).Value 'Wert
End With
Zeile = Zeile + DeltaZeilen
Loop
Else
MsgBox "Anzahl Jahre in H10 muss > 1 sein."
End If
End Sub

Anzeige
AW: CheckBoxen variabel in UserForm laden
13.03.2010 10:17:49
Rainer
Hallo Franz,
einfach nur Klasse funktioniert wie gewünscht.
Eine Frage habe ich noch. Wäre nun zwar nur noch optisch, aber vielleicht ginge es ja.
Wollte die verlinkte Zelle $O$## aus der Ansicht heraus nehmen und hatte die Zeile
          .List(.ListCount - 1, 2) = _
wks.Cells(Zeile, 2).Offset(2, 13).Address(ReferenceStyle:=xlA1) 'LinkZell
raus genommen. Diese widerrum ist wohl für die Verknüpfung erforderlich.
Muss die Anzeige zur Verknüpfung in der Zelle sein?
Wenn ja, bekomme ich diese dann einfach in einen "unsichtbaren" Bereich?
Gruß Rainer
Anzeige
AW: CheckBoxen variabel in UserForm laden
13.03.2010 11:22:59
Rainer
Hallo Franz,
da ich hier einen eingestellten Thread nicht ändern/löschen kann:
Ziehe vorherigen Thread zurück und beantworte mir die Frage selbst.
Excel muss ja irgendwie wissen, welche Zelle geändert werden soll. Folglich ist Zuordnung/Eintrag erforderlich.
Mit Deinem Hinweis

ggf. auch noch die Breite der Listbox (Width) und die Spaltenbreiten (ColumnWidths) anpassen
den ich aufgrund des sofortigen Erfolgserlebnisses noch nicht befolgt hatte bekomme ich dann auch mein gewünschtes "optisches Ergebnis".
Gruß und nochmals ein Dankeschön
Rainer
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige