Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


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 7 Office 2007
to 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
to 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 7 Office 2007
to 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
to 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 7 Office 2007
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  BITTE HILFE bei VBA programmierung combobox silo 4 111 28.12.2016, 20:14
Letzter Beitrag: schauan
  TextBox / ComboBox aus UserForm entfernen nedial 29 518 28.12.2016, 13:20
Letzter Beitrag: Rabe
  Tore-Auswertung auf Jahresbasis soky001 8 223 03.12.2016, 23:10
Letzter Beitrag: soky001
  Schwieriges Problem | Index & Verweis Auswertung excelhexel 2 101 30.11.2016, 20:09
Letzter Beitrag: excelhexel
  schwierige Abfrage und Auswertung kraehenseele 4 180 23.11.2016, 21:57
Letzter Beitrag: schauan
Sad 1 Auswertung viele Datenlieferanten Marquee 11 351 14.11.2016, 15:47
Letzter Beitrag: Marquee
  Combobox.listfillrange mit for Knocker 17 525 05.11.2016, 11:25
Letzter Beitrag: schauan
  Auswertung aus DB Abfrage für Teileliste Paro 10 446 03.10.2016, 20:11
Letzter Beitrag: IchBinIch
  Auswertung trotz verschiedener Dezimaltrennzeichen (Power Pivot) Poki29 2 177 03.10.2016, 17:46
Letzter Beitrag: Poki29
  BMI Auswertung Faym91 9 453 22.09.2016, 12:00
Letzter Beitrag: Jockel

Gehe zu:


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