AW: Tabelle auswerten
16.12.2010 01:16:53
Sonja
... vielleicht ist das ja ein Ansatz: Das hier liest mir die entsprechenden Daten aus - allerdings werden doppelte Daten auch 2 mal angezeigt. Es würde schon helfen, wenn hier genau das nicht geschehen würde. Blickt da jemand durch und könnte das ummodeln?
Sub sbAuslesen()
Dim liCmb1 As String, lstrCmb2 As String, liZeile As Integer, liNext As Integer, liZaehler _
As Integer, liSpalte As Integer
With Sheets(2)
If .ComboBox1.Text = "" Or .ComboBox2.Text = "" Then
Exit Sub
Else
liCmb1 = Val(.ComboBox1.Text)
lstrCmb2 = .ComboBox2.Text
.Rows("4:" & .Cells(Rows.Count, 1).End(xlUp).Row).Delete Shift:=xlUp
End If
End With
liNext = 4
With Sheets(1)
For liZeile = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
If Year(.Range("A" & liZeile).Value) = liCmb1 And LCase(.Range("C" & liZeile). _
Value) = LCase(lstrCmb2) Then
Sheets(2).Range("A" & liNext).Value = .Range("B" & liZeile).Value
Sheets(2).Range("B" & liNext).Value = .Range("A" & liZeile).Value
liNext = liNext + 1
End If
Next
End With
liZaehler = 4
With Sheets(2)
Do Until liZaehler >= .Cells(Rows.Count, 1).End(xlUp).Row
For liZeile = liZaehler + 1 To .Cells(Rows.Count, 1).End(xlUp).Row
If .Range("A" & liZeile).Value = "" Then
Exit For
End If
If .Range("A" & liZeile).Value = .Range("A" & liZaehler).Value Then
.Cells(liZaehler, Cells(liZaehler, .Columns.Count).End(xlToLeft). _
Column + 1).Value = .Range("B" & liZeile).Value
.Rows(liZeile & ":" & liZeile).Delete Shift:=xlUp
liZeile = liZeile - 1
End If
Next
liZaehler = liZaehler + 1
Loop
For liZeile = 4 To .Cells(Rows.Count, 1).End(xlUp).Row
For liSpalte = 2 To .Cells(liZeile, .Columns.Count).End(xlToLeft).Column
If .Cells(liZeile, liSpalte + 1).Value = .Cells(liZeile, liSpalte).Value _
Then
.Cells(liZeile, liSpalte + 1).Delete Shift:=xlToLeft
End If
Next
Next
End With
End Sub
Sub sbCmbFill()
Dim liFill As Integer
With Sheets(2)
.Rows("4:" & .Cells(Rows.Count, 1).End(xlUp).Row).Delete Shift:=xlUp
.ComboBox1.Text = ""
.ComboBox2.Text = ""
'erhöhe/verringere die Zahl 2020, und es werden
'entsprechend viele/wenige Jahres-Einträge angezeigt
For liFill = 2010 To 2020
.ComboBox1.AddItem liFill
Next
.ComboBox2.AddItem "A-Bereich"
.ComboBox2.AddItem "B-Bereich"
.ComboBox2.AddItem "C-Bereich"
.ComboBox2.AddItem "D-Bereich"
.ComboBox2.AddItem "E-Bereich"
.ComboBox2.AddItem "F-Bereich"
.ComboBox2.AddItem "Anwärter"
.ComboBox2.AddItem "Andere"
'wiederhole die Zeile mit .ComboBox2.AddItem so oft
'wie du unterschiedliche Gruppen benötigst
End With
End Sub
DANKESCHÖN!!!!