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

mehrer OptionButtons dynamisch erzeugen?!

mehrer OptionButtons dynamisch erzeugen?!
13.09.2014 12:11:11
Thomas

Hallo Ihr Profis,
nachdem die Idee mit dem SVerweis ja leider gestorben ist, brauch ich irgendwie eine Idee um folgendes Problem zu realisieren:
In Spalte A stehen bestimmte Hauptaufgaben. In Spalte B stehen Unteraufgaben davon, die mittels SVerweis aus Tabellenblatt2 geholt werden. Nun sollten eigentlich in Spalte C soviele OptionButtons sein wie es eben Unteraufgaben gibt, sodass man die Einzelaufgaben abhaken kann und wenn alle abgehakt sind färbt sich die entsprechende Zelle in Spalte A (Hauptaufgaben) grün. Die Anzahl der Unteraufgaben habe ich als Zahlenwert bereits realisiert. Diese steht (hilfsweise) in Spalte D in der entsprechenden Zeile. Nur diese in OptionButtons "umzuwandeln" krieg ich leider nicht hin.
Hat vielleicht jemand eine Idee wie das sonst realisierbar wäre? Irgendwie komm ich da nicht so richtig zu einer Lösung.
Vielen lieben dank im voraus.

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mehrer OptionButtons dynamisch erzeugen?!
13.09.2014 13:10:56
Thomas
danke für die Idee, aber jede der Unteraufgaben hat 4 verschiedene Zustände die mittels der Optionsbuttons ausgewählt werden müssen. Das bedeutet, wenn es dort z.B. 3 Unteraufgaben gibt benötige ich 12 OptionButtons.

AW: mehrer OptionButtons dynamisch erzeugen?!
13.09.2014 13:20:05
Spenski
kannst du mal ne kleine bsp datei hochladen...kanns mir nur zu 80% vorstellen.
gruss

Anzeige
AW: mehrer OptionButtons dynamisch erzeugen?!
13.09.2014 15:32:17
Spenski
bei der Beispiel Datei weiss ich noch weniger was du suchst und willst
viel erfolg noch

AW: mehrer OptionButtons dynamisch erzeugen?!
14.09.2014 22:26:57
Mullit
Hallo,
mit Formularsteuerelementen könnte man sich etwas bauen:
Für das Einfügen der Bed. Formatierung müsstest Du nochmal klären, bei welcher Opt.-Buttonwahl die Zelle rot werden soll...
Option Explicit

Private Declare Function KillTimer Lib "user32.dll" ( _
    ByVal hWnd As Long, _
    ByVal nIDEvent As Long) As Long
Private Declare Function SetTimer Lib "user32.dll" ( _
    ByVal hWnd As Long, _
    ByVal nIDEvent As Long, _
    ByVal uElapse As Long, _
    ByVal lpTimerFunc As Long) As Long
Private Declare Sub Sleep Lib "kernel32" ( _
    ByVal dwMilliSeconds As Long)

Private lobjCell As Range
Private lvntArray As Variant

Public Function fncOptionBtn(prstrString As String, probjCell As Range) As String
  Set lobjCell = probjCell
  lvntArray = Split(Expression:=prstrString, Delimiter:=Chr(10), Limit:=-1, Compare:=vbTextCompare)
  Call prcStartTimer
End Function

Private Sub prcStartTimer()
  SetTimer Application.hWnd, 0&, 1&, AddressOf TimerProc
End Sub

Private Sub prcStopTimer()
  KillTimer Application.hWnd, 0&
End Sub

Private Sub TimerProc(ByVal hWnd As Long, ByVal nIDEvent As Long, _
    ByVal uElapse As Long, ByVal lpTimerFunc As Long)
    On Error Resume Next
    Call prcStopTimer
    Call prcInsertButton
End Sub

Private Sub prcInsertButton()
  Dim lngIndex As Long, lngOptTop As Long, _
    lngHeight As Long, lngWidth As Long, _
    lngCount As Long, lngOptLeft As Long, _
    lngGrpTop As Long, lngColumn As Long
  Dim shpShape As Shape
  If ActiveSheet.Shapes.Count > 0 Then
    For Each shpShape In ActiveSheet.Shapes
       With shpShape
           If .FormControlType = xlOptionButton Or .FormControlType = xlGroupBox Then _
             If .TopLeftCell.Address = lobjCell.Address Then _
                .Delete
       End With
    Next
  End If
  lngColumn = 5
  lngHeight = 20
  lngWidth = 20
  lobjCell.RowHeight = (Ubound(lvntArray) + 1) * 25 + 5
  For lngIndex = 1 To Ubound(lvntArray) + 1
     lngColumn = lngColumn + 1
     lngGrpTop = lngGrpTop + lngHeight + 5
     lngOptLeft = 0
     With lobjCell
          For lngCount = 1 To 4
             lngOptLeft = lngOptLeft + 10
             ActiveSheet.OptionButtons.Add(Left:=.Left + lngOptLeft, _
              Top:=.Top + 5 + lngOptTop, Width:=lngWidth, Height:=lngHeight).LinkedCell = _
              ActiveSheet.Cells(.Row, .Column + lngColumn).Address
          Next
          ActiveSheet.GroupBoxes.Add(Left:=.Left + 5, _
            Top:=.Top + 5 + lngOptTop, Width:=4 * lngWidth, Height:=lngHeight).Caption = vbNullString
     End With
     lngOptTop = lngOptTop + 25
  Next
  Set lobjCell = Nothing
End Sub

Public Sub prcInit()
Dim lngIndex As Long
For lngIndex = 1 To 4
   ActiveSheet.Cells(2 + lngIndex, 3).FormulaLocal = _
    "=fncOptionBtn(SVERWEIS(A" & 2 + lngIndex & ";Tabelle2!A$3:C$7;2;FALSCH);C" & 2 + lngIndex & ")"
   DoEvents
   Sleep 50&
Next
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 12

Der Aufruf der Funktion in der Zelle geht dann so:
Anzeige
AW: mehrer OptionButtons dynamisch erzeugen?!
19.09.2014 08:21:09
Thomas
wow....da muss ich jetzt erstmal hintersteigen. ziiiemlich viel "neuer code" für mich. vielen dank!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige