wer könnte mir Helfen in dem Code vom "CB_Bereich_ID_Change" etwas zu Intrigieren.
Hierzu möchte Ich in der CB_ID nicht nur die ID stehen haben sondern auch den dazugehörigen Namen als "Auswahlhilfe".
Ist sowas möglich od. muss man für mein Vorhaben den Code Komplett neu Aufbauen?
Beschreibung des Codes:
Die CB_Bereich_ID ist eine Vorauswahl, in dieser wird eine Gruppe gewählt.
Die Gruppe dient dazu einen Beiche einzugrenzen, in dem falle sind es "Wohnbereiche" u. darüber hinaus werden hierfür auch die dazugehörigen ID´s Bereitgestellt.
Die CB_ID (ID) ist eine feste Konstante mit direkten Bezug zur Vorauswahl (CB_Bereich_ID).
Sie dient dazu sowohl beim Suchen als auch beim Schreiben in die Tabelle immer die Richtige Zeile anzusprechen.
Wie man im Code sehen kann sind zwei Tabellen Angegeben hierzu gehören:
- Mappe1 "HM2030_ori.xlsm" mit Tabellenblatt "Werte", hier werden die Bereiche, ID´s u. Namen je in einer Spalte aufgelistet.
- Mappe2 "HM2030_RO.xlsm" mit Tabellenblatt "RO", hier werden die Bewohner bezogenden Informationen gespeichert.
All das Dient zur Feststellung (Dokumentation) welcher Bewohner ein oder mehrere Hilfsmitteln besitzt, die wiederum gewartet werden müssen.
Danke im Vorfeld für die Hilfe.
Gruß Charly
Option Explicit
Private Sub CB_Bereich_ID_Change()
Dim i As Long
With Workbooks("HM2030_ori.xlsm").Worksheets("Werte")
Me.CB_ID.Clear
Select Case Me.CB_Bereich_ID
Case "WB 1"
Application.ActiveWindow.ScrollRow = 5
For i = 2 To 40
If WorksheetFunction.CountIf(Worksheets("RO").Columns(3), .Cells(i, 6)) = 0 _
_
Then
Me.CB_ID.AddItem .Cells(i, 2)
End If
Next i
Case "WB 2"
Application.ActiveWindow.ScrollRow = 86
For i = 41 To 73
If WorksheetFunction.CountIf(Worksheets("RO").Columns(3), .Cells(i, 87)) = _
0 _
Then
Me.CB_ID.AddItem .Cells(i, 2)
End If
Next i
Case "WB 3"
Application.ActiveWindow.ScrollRow = 155
For i = 74 To 112
If WorksheetFunction.CountIf(Worksheets("RO").Columns(3), .Cells(i, 156)) = _
0 _
Then
Me.CB_ID.AddItem .Cells(i, 2)
End If
Next i
Case "Haus"
Application.ActiveWindow.ScrollRow = 236
For i = 116 To 130
If WorksheetFunction.CountIf(Worksheets("RO").Columns(3), .Cells(i, 237)) = _
0 _
Then
Me.CB_ID.AddItem .Cells(i, 2)
End If
Next i
Case Else
End Select
End With
End Sub
Private Sub UserForm_Activate()
' Hier wird die Gruppe Wohnbereiche definiert
CB_Bereich_ID.List = Array("WB 1", "WB 2", "WB 3", "Haus")
End Sub