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
  Tore-Auswertung auf Jahresbasis soky001 8 124 03.12.2016, 23:10
Letzter Beitrag: soky001
  Schwieriges Problem | Index & Verweis Auswertung excelhexel 2 52 30.11.2016, 20:09
Letzter Beitrag: excelhexel
  schwierige Abfrage und Auswertung kraehenseele 4 112 23.11.2016, 21:57
Letzter Beitrag: schauan
Sad 1 Auswertung viele Datenlieferanten Marquee 11 256 14.11.2016, 15:47
Letzter Beitrag: Marquee
  Combobox.listfillrange mit for Knocker 17 399 05.11.2016, 11:25
Letzter Beitrag: schauan
  Auswertung aus DB Abfrage für Teileliste Paro 10 328 03.10.2016, 20:11
Letzter Beitrag: IchBinIch
  Auswertung trotz verschiedener Dezimaltrennzeichen (Power Pivot) Poki29 2 123 03.10.2016, 17:46
Letzter Beitrag: Poki29
  BMI Auswertung Faym91 9 310 22.09.2016, 12:00
Letzter Beitrag: Jockel
  Tabellenwechsel per Dropdown-ComboBox TimoK 28 798 13.09.2016, 10:14
Letzter Beitrag: TimoK
  Monatsweise Auswertung von Daten Panzerchen 1 145 08.09.2016, 19:26
Letzter Beitrag: shift-del

Gehe zu:


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