Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Auswertung mit ComboBox
#1
Hallo Leute!

In meiner EA Liste habe ich 2 ComboBoxen eingefügt. Mit diesen ComboBoxen soll nur das Jahr aus der Spalte B ab Zeile 13 angezeigt werden.
Das funktioniert auch. Möchte aber gerne immer nur ein Jahr angezeigt bekommen.
Beispiel: in der Spalte steht 5x ##.##.2011 ; 3x ##.##.2012; 8x ##.##.2013 usw.
Dann soll in den ComboBoxen nur jeweils 1x 2011;2012;2013 usw. stehen.
Ist dies möglich?


Angehängte Dateien
.xlsm   EAListe.xlsm (Größe: 37,89 KB / Downloads: 7)
mfg
Michael
:98:

WIN 10  Office 2019
Antworten Top
#2
Hallo!
Probiere mal folgendes für ComboBox1 und 2:
Code:
Private Sub ComboBox1_DropButtonClick()
Dim Zeile As Long
ComboBox1.Clear
For Zeile = 13 To Cells(Rows.Count, 2).End(xlUp).Row
  If Year(Cells(Zeile, 2)) <> Year(Cells(Zeile + 1, 2)) Then _
     ComboBox1.AddItem Year(Cells(Zeile, 2))
Next Zeile
End Sub

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Hallo Ralf!

Danke für die Hilfe!
Funkt ja fast so wie ich das haben möchte. Nur sollte auch das Jahr was dann ausgewählt wird auch in der CB dann stehen.
Bei mir ist das nicht so, da wird die CB wieder gelöscht.
Gibt es da noch eine Hilfe?
mfg
Michael
:98:

WIN 10  Office 2019
Antworten Top
#4
Hi

probier mal. Zum erstmaligen Befüllen diesen Code in 'Diese Arbeitsmappe'
Code:
Option Explicit

Private Sub Workbook_Open()
  With Sheets("Kassenbuch")
     .SingleItem Sheets("Kassenbuch").ComboBox1
     .SingleItem Sheets("Kassenbuch").ComboBox2
     .ComboBox1.ListIndex = 0
     .ComboBox2.ListIndex = 0
  End With
End Sub

Dieser Code in das Modul der Tabelle Kassenbuch, die Werte werden noch zusätzlich abhängig vom Wert der anderen Combobox eingeschränkt
Code:
Option Explicit

Private Sub ComboBox1_DropButtonClick()
  SingleItem ComboBox1, , CInt(ComboBox2.Value)
End Sub

Private Sub ComboBox2_DropButtonClick()
  SingleItem ComboBox2, CInt(ComboBox1.Value)
End Sub

Sub SingleItem(ByRef objCB As ComboBox, Optional MinJahr, Optional MaxJahr)
  Dim i As Integer
  Dim D1 As Object
 
  If IsMissing(MinJahr) Then MinJahr = 1900
  If IsMissing(MaxJahr) Then MaxJahr = 2099
  Set D1 = CreateObject("Scripting.Dictionary")
  For i = 13 To Cells(Rows.Count, 2).End(xlUp).Row
     If Year(Cells(i, 2).Value) >= MinJahr And Year(Cells(i, 2).Value) <= MaxJahr Then
        D1(Format(Cells(i, 2).Value, "yyyy")) = 0
     End If
  Next
  objCB.List = D1.Keys
End Sub
Grüße,
Winny
Antworten Top
#5
Hallo Winny!

Danke für die Hilfe!
Das ist ja das was ich haben wollte, SUUUUper.
Werde noch ein bissel Testen.
Kannst du den Code noch einmal beschreiben, also was er in den einzelnen Schritten macht?
Aber nur wenn es dir nicht zuviel arbeit macht
mfg
Michael
:98:

WIN 10  Office 2019
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste