Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilen ausblenden, wenn ... erfüllt

Zeilen ausblenden, wenn ... erfüllt
13.08.2018 13:42:43
zaz
Hallo,
als Info vorab: leider habe ich bisher keine Erfahrungen mit VBA sammeln können. Ich möchte jede Zeile ausblenden, bei der alle Zellen der Zeile von Spalte B bis J nur 0en aufweisen. Diese Zellen beziehen sich auf andere Tabellenblätter. Das heißt nach jeder Änderung der anderen Tabellenblätter muss neu überprüft werden, welche Zeilen ausgeblendet und ggf. auch wieder eingeblendet werden müssen.
Mein Versuch:
Option Explicit

Sub Worksheet_SelectionChange(ByVal Target As Range)
'Zeile
Dim i As Long
'Spalte
Dim j As Long
'Hilfsrechnung
Dim z As Long
z = 0
For i = 6 To 73
For j = 2 To 9
If Cells(i, j) > 0 Then
z = z + 1
Next j
If z = 0 Then
Cells(i, 1).EntireRow.Hidden = True
Else
Cells(i, 1).EntireRow.Hidden = False
End If
z = 0
Next i
End Sub
Es wäre sehr nett, wenn mir irgendwer weiterhelfen könnte.
Viele Grüße
Zaz
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen ausblenden, wenn ... erfüllt
13.08.2018 13:45:19
zaz
Dazu muss ich sagen, dass die Zellen keine negativen Werte annehmen werden. D.h. es kommt nur 0, NULL oder ein positiver Wert in Frage
AW: Zeilen ausblenden, wenn ... erfüllt
13.08.2018 14:29:04
Johannes
Hi Zaz,
schau mal, ob das so passt:
Sub ZeilenAufNullPrüfen()
Dim Rng As Range, cel As Range
Dim i As Byte
For i = 2 To 18
Set Rng = Worksheets(2).Range("B" & i, "J" & i)
Rng.Select
If WorksheetFunction.CountIf(Rng, "0") = 9 Then
Worksheets(2).Cells(i, 1).EntireRow.Hidden = True
Else
Worksheets(2).Cells(i, 1).EntireRow.Hidden = False
End If
Next i
End Sub

Anzeige
AW: Zeilen ausblenden, wenn ... erfüllt
13.08.2018 14:39:30
Johannes
Hi Zaz,
das rng.select sowie die Variable cel könntest du löschen.
Grüße
AW: Zeilen ausblenden, wenn ... erfüllt
14.08.2018 07:41:42
zaz
Danke erst mal für deine Hilfe. Ich hätte da noch ein paar Anfängerfragen:
1. Wieso läuft das i von 2 bis 18? es müssen ja die Zeilen von 6 bis 73 durchlaufen werden?
2. Was ist die Bedeutung von Worksheets(2)? Handelt es sich dabei um das zweite Tabellenblatt, d.h. muss ich die Zahl dann bei mir ggf. ändern?
3. Die Überprüfung soll ja bei jeder Änderung durchgeführt werden. Muss ich dann Sub Worksheet_SelectionChange(ByVal Target As Range) statt Sub ZeilenAufNullPrüfen() nutzen?
Danke schon mal für die Hilfe.
Viele Grüße zaz
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige