Clever-Excel-Forum

Normale Version: Makro: Zeilen ausblenden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
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
Seiten: 1 2