Herbers Excel-Forum - das Archiv

Zeilen mit bestimmtem Datum ausblenden

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Zeilen mit bestimmtem Datum ausblenden
von: Claus
Geschrieben am: 21.09.2003 11:17:18
Hi Leute,

ich muss schon wieder stören...Ich möchte in einer Tabelle per VBA all die Zeilen in Spalte C ausblenden, deren Wert kleiner ist, als der Wert in einer TextBox. Dazu habe ich auf einer UserForm eine TextBox erstellt, in die ich ein Datum eintrage (z.B. 01.10.2003). Alle Daten, die kleiner als der 01.10.2003 sind, sollen auf dem Tabellenblatt ausgeblendet werden.

Hier mein Code, der etwas Kosmetik braucht:


Private Sub CommandButton1_Click()

'Auswertebereich für das Diagramm
x = 2
Do Until Application.WorksheetFunction.CountBlank(Rows(x)) = 256
x = x + 1
Loop

If Sheets("Tool").Cells(x, 3) < MinDateTextBox Then
   Rows(x).Hidden = True
End If

End Sub

     Code eingefügt mit Syntaxhighlighter 2.4


Danke, Claus
Bild

Betrifft: Welche Art "Kosmetik" brauchst du denn ? o.T.
von: Ramses
Geschrieben am: 21.09.2003 11:32:08
...
Bild

Betrifft: Klappt nicht
von: Claus
Geschrieben am: 21.09.2003 11:38:24
Hi Ramses,

die Art von Kosmetik, dass der Code funktioniert...inzwischen sicht er so aus:


Private Sub CommandButton1_Click()

'Auswertebereich für das Diagramm
x = 2
Do Until Application.WorksheetFunction.CountBlank(Rows(x)) = 256
  If Sheets("Tool").Cells(x, 3) < MinDateTextBox Then
     Rows(x).Hidden = False
  End If
x = x + 1
Loop

End Sub

     Code eingefügt mit Syntaxhighlighter 2.4

Allerdings werden nicht die Zeilen ausgeblendet, deren Datum kleiner als das in der MinDateTextBox ist, sondern alle Zeilen...das ist das Problem...alle Daten, die größer gleich dem Datum in der MinDateTextBox sind, sollen sichtbar bleiben. Irgendwas ist noch falsch...
Gruß, Claus
Bild

Betrifft: AW: Klappt nicht - Nachtrag
von: claus
Geschrieben am: 21.09.2003 11:44:18
Hier noch ein Nachtrag:
Wenn nun in der MinTextBox "31.08.2003" steht, sollen die Zeilen 1 und 2 ausgeblendet werden, da deren Datum kleiner ist...
Excel Tabellen einfach im Web darstellen   Excel Jeanie HTML  2.0    Download  

Bild

Betrifft: AW: Klappt nicht - Nachtrag
von: Ramses
Geschrieben am: 21.09.2003 12:31:44
Hallo

verwende die Deklaration

Dim myDate as Date

Sonst wird der Inhalt der Textbox immer als String deklariert und du hast nie ein Datum :-)

Dim myDate as Date
myDate = Me.MinDateTextBox ' Ich hoffe der Name ist korrekt
x = 2
Do Until Application.WorksheetFunction.CountBlank(Rows(x)) = 256
If Sheets("Tool").Cells(x, 3) < myDate Then
Rows(x).Hidden = False
End If
x = x + 1
Loop

Gruss Rainer
Bild

Betrifft: Eine Sache noch...
von: Claus
Geschrieben am: 21.09.2003 12:48:43
Hi Rainer!

Danke! Irgendwann wußte ich das auch schon mal...vielleicht merke ich mir das ja jetzt.

Ein Problem gibt es allerdings noch zu lösen: Wenn ich in der TextBox das Datum "14.10.2003" eingebe, werden die Zeilen 1 und 2 ausgeblendet. Die Zeilen 5 und 6 sind aber auch kleiner als der 14.10.2003. Die bleiben aber stehen...warum? KAnnst du dir das nochmal anschauen? So würde die Tabelle aussehen:
































  C
1 10.10.2003
2 12.10.2003
3 14.10.2003
4 16.10.2003
5 8.10.2003
6 6.10.2003
7 20.10.2003

Bild

Betrifft: Irritation...
von: Ramses
Geschrieben am: 21.09.2003 13:02:37
Hallo

das kann gar nicht sein dass A1 ausgeblendet wird.
Dann hast du einen Fehler in deinem Code :-)) oder die Zeilen vorher schon ausgeblendet.

Du gibst "X = 2" an und prüfst demzufolge die Zeile 1 gar nicht !

Das andere

If Sheets("Tool").Cells(x, 3) < myDate Then
Rows(x).Hidden = False
End If

Wenn du ausblenden willst,.... musst du die HIDDEN Eigenschaft natürlich auf True setzen !!

Gruss Rainer
Bild

Betrifft: AW: Zeilen mit bestimmtem Datum ausblenden
von: Franz Pölt
Geschrieben am: 21.09.2003 16:24:24
Hallo Claus und Ramses,

und was spricht bitte gegen Filterung per Autofilter?

Servus aus dem Salzkammergut
Franz
Bild

Betrifft: Hier bitte nochmal helfen...
von: Claus
Geschrieben am: 21.09.2003 19:02:25
Hi,

war mein Fehler. Ich habe natürlich einen falschen Stand gepostet. Natürlich steht die Hidden-Eigenschaft auf Treu und Zeile A wird auch nicht ausgeblendet. Das ändert aber leider nichts an meinem Problem. Also: In der folgenden Tabelle sollen alle Zeilen ausgeblendet werden, deren Datum kleiner ist als der 30.08.2003. Dieses Datum habe ich als Grenzwert in die MinDateTextBox eingegeben (siehe Code). Leider werden nur die Zeilen BIS zum 30.08.2003 ausgeblendet (also Zeile2). Die Zeilen HINTER der Zeile mit eben diesem Datum bleiben erhalten (Zeile 4 bleibt)...warum bloß? Bitte um Hilfe!!!
Excel Tabellen einfach im Web darstellen   Excel Jeanie HTML  2.0    Download  
Private Sub cmdDate_Click()
'Auswertebereich für das Diagramm
Dim myDate As Date
myDate = Me.MinDateTextBox
x = 2

Do Until Application.WorksheetFunction.CountBlank(Rows(x)) = 256
If Sheets("Tool").Cells(x, 3) < myDate Then
Rows(x).Hidden = True
End If
x = x + 1
Loop

End Sub

Bild

Betrifft: Problem gelöst!
von: Claus
Geschrieben am: 21.09.2003 20:04:08
Danke an alle! Ich liebe (nur mental, nicht körperlich!) dieses Forum...
 Bild
Excel-Beispiele zum Thema " Zeilen mit bestimmtem Datum ausblenden"
Zeilenhöhe in cm festlegen Summe gefilterter Zeilen
Zeilenumbruch Leere Zeilen löschen
Spalten/Zeilen aus- und einblenden Zeilenumbruch in Formel erzwingen
Zeilen und Spalten über ein Drehfeld ein- und ausblenden Alle Kopf-/Fußzeilen-Festlegungen löschen
Fußzeilen beim Öffnen eintragen Zellinhalte zeilenweise sortieren