Hallo,
ich hätte gerne ein Makro, welches eine Zeile ausblendet, in der ein Wert in einer bestimmten Spalte 0 ist.
Das Makro soll dann über eine Tabelle mit mehreren Zeilen laufen.
Habe zwar den Befehl "Rows().Hidden" gefunden, aber es noch nicht hinbekommen.
Jemand ne Idee?
Hallo,
wie wäre es, wenn Du Deinen Code mal veröffentlichst.
Wenn programmiert werden soll, reicht es nämlich nicht aus,
wenn man programmiert ... mache mit irgendeiner Zelle was.
Dann pfeift Excel sich einen und macht Urlaub.
Hallo,
hier ein Ansatz:
I = 15
Rows(I).Select
Selection.EntireRow.Hidden = True
Gruß Günter
Habe jetzt das hier:
Sub S()
Dim i As Integer
For i = 1 To 500
Range("Ai").EntireRow.Hidden = IIf(Range("Di") = "0", True, False)
Next i
End Sub
wie kann ich jetzt bei der Zelle "Ai" das i hochzählen lassen?
Moin!
Es gibt nix langsameres als Zeilen einzeln zu löschen!
Filtere die "bestimmte Spalte" nach 0 und lösche die sichtbaren Zeilen ab der Überschrift.
Selbstverständlich geht dies auch exakt so mittels VBA.
Falls das immer noch nicht schnell genug sein sollte, dann sortiere zunächst die "bestimmte Spalte".
Wenn der zu löschende Bereich nicht fragmentiert ist, wird nochmals der Turbo zugeschaltet.
Gruß Ralf
Ach ja, Du willst ja "nur" ausblenden.
Exakt dies macht der Autofilter <>0
Hallo,
Zitat:Option Explicit
Sub Zeilen_AUSblenden()
Rows("7:16").EntireRow.Hidden = True
End Sub
Sub Zeilen_EINblenden()
Rows("6:17").EntireRow.Hidden = False
End Sub
auch von mir noch ein Versuch
Hallo,
z.B.: so:
Code:
Private Sub CommandButton1_Click()
Dim loLetzte As Long
Dim raBereich As Range, raZelle As Range
Application.ScreenUpdating = False
With Worksheets("Tabelle1") 'Blattname anpassen
loLetzte = .Cells(.Rows.Count, 4).End(xlUp).Row
Set raBereich = .Range(.Cells(1, 4), .Cells(loLetzte, 4))
If .CommandButton1.Caption = "Ausblenden" Then
For Each raZelle In raBereich
If raZelle.Value = 0 Then
raZelle.EntireRow.Hidden = True
End If
Next raZelle
.CommandButton1.Caption = "Einblenden"
ElseIf .CommandButton1.Caption = "Einblenden" Then
raBereich.EntireRow.Hidden = False
.CommandButton1.Caption = "Ausblenden"
End If
End With
Set raBereich = Nothing
Application.ScreenUpdating = True
End Sub
CommandButton (ActiveX Steuerelement) auf das Tabellenblatt, in den Eigenschaften des CommandButton die Caption auf "Ausblenden" ändern. Code ins Codefenster des Tabellenblattes kopieren, auf dem der CommandButton ist.
Wobei sich die Frage stellt: Warum nicht mit dem Autofilter, wie mein Vorredner schon angemerkt hat.
Gruß Werner
Ich hätte das gerne als Makro, da eventuell noch weitere Funktionen mit rein sollen.
Habe noch hier nochmal kurz das Problem dargestellt:
Range("A1").EntireRow.Hidden = IIf(Range("D1") = "0", True, False)
Range("A2").EntireRow.Hidden = IIf(Range("D2") = "0", True, False)
Range("A3").EntireRow.Hidden = IIf(Range("D3") = "0", True, False)
Range("A4").EntireRow.Hidden = IIf(Range("D4") = "0", True, False)
Range("A5").EntireRow.Hidden = IIf(Range("D5") = "0", True, False)
Range("A6").EntireRow.Hidden = IIf(Range("D6") = "0", True, False)
Range("A7").EntireRow.Hidden = IIf(Range("D7") = "0", True, False)
Range("A8").EntireRow.Hidden = IIf(Range("D8") = "0", True, False)
Range("A9").EntireRow.Hidden = IIf(Range("D9") = "0", True, False)
Ich hätte jetzt einfach gerne ne Schleife die die As und Ds hochzählt
Hallo,
For I = 1 To 500
If Cells(I, 4) = 0 Then Rows(I).EntireRow.Hidden = True
Next I
Gruß Günter