Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1848to1852
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Zellen ausblenden oben unten begrenzt
29.09.2021 10:00:32
Uwe
Hallo liebes Forum,
ich habe eine Frage zum Zeilen ausblenden, es gibt hier jedoch 2, 3 kleine Haken.
Es wurde eine Musterdatei erstellt. Diese ist unter
https://www.herber.de/bbs/user/148338.xlsm
zur Verfuegung gestellt.
Als Basiscode habe ich den folgenden:

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
For i = 17 To 26
If Cells(i, 3).Value = "" Then
Rows(i).Hidden = True
End If
Next i
Application.ScreenUpdating = True
Range("A1").Select
End Sub
Dies funktioniert auch so weit. Nun zu den Problemen.
1.) Die Werte die derzeit in Zelle 17 - 26 stehen "verschieben" sich immer und stehen nicht immer in diesen Zeilen. Es koennen auch mehr oder weniger Werte sein.
Die Bedingungen zum ausblenden sollen wie folgt sein:
Alle Zeilen ausblenden die UNTER dem Wort "Varianten" in Spalte "A" stehen und die in Spalte "C" keinen Wert ( leer ) haben.
Aber es sollen nur alle Zeilen ausgeblendet werden, bis 2 Zeilen UEBER dem Wort "Kosten Obstkorb" in Spalte "A".
2.) Noch ein Hinweis: Das Wort "Varianten" in Spalte A kommt aus dem Tabellenblatt 2 via Zellbezug. Ueber "FINDEN" laesst es sich somit nicht finden.
Aber geht das dann im Makro wie in "1.)" beschrieben ?
Vielen Dank fuer eure Unterstuetzung und einen schoenen Tag,
Uwe

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen ausblenden oben unten begrenzt
29.09.2021 10:08:10
Rudi
hallo,

Private Sub CommandButton1_Click()
Dim vntFirst, vntLast, i As Long
Application.ScreenUpdating = False
vntFirst = Application.Match("Varianten", Columns(1), 0)
vntFirst = Application.Match("Kosten Obstkorb", Columns(1), 0)
If Not IsError(vntFirst) And Not IsError(vntLast) Then
For i = vntFirst + 1 To vntLast - 2
Rows(i).Hidden = Cells(i, 3).Value = ""
Next i
Else
MsgBox "Anfang oder Ende nicht gefunden!"
End If
Range("A1").Select
End Sub
Gruß
Rudi
AW: Zellen ausblenden oben unten begrenzt
29.09.2021 10:20:27
Uwe
Hallo Rudi,
vielen Dank fuer deine Hilfe. Habe es eingefuegt, es werden jedoch keine Zeilen ausgeblendet.
Das Makro springt lediglich auf A1.
Muss ggf. noch etwas angepasst werden, oder mache ich irgendetwas falsch ?
Vielen Dank schon mal,
Uwe
Anzeige
AW: Zellen ausblenden oben unten begrenzt
29.09.2021 10:30:03
EtoPHG
Hallo Uwe,
Korrigiere Rudis Zeile:

vntFirst = Application.Match("Kosten Obstkorb", Columns(1), 0)
'in
vntLast = Application.Match("Kosten Obstkorb", Columns(1), 0)
Gruess Hansueli
...natürlich auch Maintaire ;-)
AW: Zellen ausblenden oben unten begrenzt
29.09.2021 10:36:01
Rudi
mein Fehler.

Private Sub CommandButton1_Click()
Dim vntFirst, vntLast, i As Long
Application.ScreenUpdating = False
vntFirst = Application.Match("Varianten", Columns(1), 0)
vntLast = Application.Match("Kosten Obstkorb", Columns(1), 0)
If Not IsError(vntFirst) And Not IsError(vntLast) Then
For i = vntFirst + 1 To vntLast - 2
Rows(i).Hidden = Cells(i, 3).Value = ""
Next i
Else
MsgBox "Anfang oder Ende nicht gefunden!"
End If
Range("A1").Select
End Sub

Anzeige
AW: Zellen ausblenden oben unten begrenzt
29.09.2021 10:24:35
Uwe
Ich habe es gefunden es muss heissen "LAST" Jetzt klappt es. Vielen Dank !

Sub Button1_Click()
Dim vntFirst, vntLast, i As Long
Application.ScreenUpdating = False
vntFirst = Application.Match("Varianten", Columns(1), 0)
vntLast = Application.Match("Kosten Obstkorb", Columns(1), 0)
If Not IsError(vntFirst) And Not IsError(vntLast) Then
For i = vntFirst + 1 To vntLast - 2
Rows(i).Hidden = Cells(i, 3).Value = ""
Next i
Else
MsgBox "Anfang oder Ende nicht gefunden!"
End If
Range("A1").Select
End Sub

274 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige