AW: Excel Schleife über eingeblendete Zellen
07.09.2015 18:48:06
mischiz
Hey,
ich bins nochmal, hab hier noch meinen aktuellen Code, doch es funktioniert nicht wie gewünscht. Wenn ich den Code durchführe kommt keine Fehlermeldung, aber es tut sich auch nichts.
Mein Ziel ist es, dass ich zuerst nach gewissen Kriterien 0er ausblende. Falls jedoch rechts von der Null eine Zahl ist und oberhalb auch, dann sollen die Zellen ausgetauscht werden. Das ganze klappt bei mir, solange keine ausgeblendeten Werte dazwischen sind. Würde gerne meine Datei hochladen, aber leider klappt das nicht. Danke für jede Hilfe.
Private Sub CommandButton2_Click()
Dim n As Integer
For n = 8 To 200
If Cells(n, 3).Value = "0" And Cells(n, 5).Value = "" Then
Rows(n).EntireRow.Hidden = True
End If
If Cells(n, 3).Value = "0" And Cells(n, 5).Value = "0" Then
Rows(n).EntireRow.Hidden = True
End If
If Cells(n, 3).Value = "" And Cells(n, 5).Value = "0" Then
Rows(n).EntireRow.Hidden = True
End If
Next
'--- Zeilennummern der sichtbaren Zeilen ermitteln
With ActiveSheet.UsedRange.Columns(3).SpecialCells(xlCellTypeVisible)
ReDim Zeile(1 To .Cells.Count)
For Each rng In .Cells
i = i + 1
Zeile(i) = rng.Row
Next
End With
'--- prüfen, ob der Wert der zweiten sichtbaren Zelle in Spalte A gleich dem _
darunterliegenden _
_
Wert ist
If Cells(Zeile(i - 1), 3).Value > "0" And Cells(Zeile(i), 3).Value = "0" And Cells(Zeile(i), _
5).Value > "0" Then
Temp = Cells(Zeile(i), 3)
Cells(Zeile(i), 3) = Cells(Zeile(i - 1), 3)
Cells(Zeile(i - 1), 3) = Temp
Temp2 = Cells(Zeile(i), 1)
Cells(Zeile(i), 1) = Cells(Zeile(i - 1), 1)
Cells(Zeile(i - 1), 1) = Temp2
End If
For n = 8 To 200
If Cells(n, 3).Value = "0" And Cells(n, 5).Value = "" Then
Rows(n).EntireRow.Hidden = True
End If
Next
End Sub