Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1796to1800
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
Inhaltsverzeichnis

nicht markierte Zeilen ausblenden

nicht markierte Zeilen ausblenden
02.12.2020 23:27:14
Frank
Hallo, ich nutze folgenden Code in VBA:
Dim m As Integer
m = Month(Now)
With Sheets("TabEinAus").Cells(1, 1).CurrentRegion
With .Columns(.Columns.Count + 1)
If m = 1 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC5>0),1,""x"")"
ElseIf m = 2 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC6>0),1,""x"")"
ElseIf m = 3 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC7>0),1,""x"")"
ElseIf m = 4 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC8>0),1,""x"")"
ElseIf m = 5 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC9>0),1,""x"")"
ElseIf m = 6 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC10>0),1,""x"")"
ElseIf m = 7 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC11>0),1,""x"")"
ElseIf m = 8 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC12>0),1,""x"")"
ElseIf m = 9 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC13>0),1,""x"")"
ElseIf m = 10 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC14>0),1,""x"")"
ElseIf m = 11 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC15>0),1,""x"")"
ElseIf m = 12 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC16>0),1,""x"")"
End If
.EntireRow.Sort key1:=.Cells(1, 1), order1:=xlAscending, Header:=xlYes
AnzahlZeilen = WorksheetFunction.Sum(.Cells) + 1
.ClearContents
End With
End With
ich möchte aber, das die restlichen Zeilen ausgeblendet werden.
Wie muss die Ergänzung heißen?
Viele Grüße Frank.

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nicht markierte Zeilen ausblenden
03.12.2020 05:38:02
Hajo_Zi
Hallo Frank,
keine Ahnung was die restlichen Zeilen sind.
Ich gehe mal davon aus alle.
Cells().EntireRow.Hidden = True
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
ändern.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.

Anzeige
AW: nicht markierte Zeilen ausblenden
03.12.2020 08:28:38
Frank
Hallo und Danke.
Aber gemeint war, das nur die mit x markierten Zeilen sichtbar und sortiert sein sollen und alle restlichen und vorhandene Zeilen nicht sichtbar.
Erst beim Beenden des Formulars wieder alle Zeilen einblenden...
Gruß Frank.
AW: nicht markierte Zeilen ausblenden
03.12.2020 08:59:06
Hajo_Zi
Hallo Frank,
Gut ich bin dann raus. Da ich nicht auf fremde Rechner schaue und mein Beitrag nicht komplett gelesen wurde.
Frage jemand der neben Dir sitzt.
Gruß Hajo
AW: nicht markierte Zeilen ausblenden
03.12.2020 09:00:37
Frank
Hallo,
leider verstehe ich deinen Beitrag nicht...?
AW: nicht markierte Zeilen ausblenden
03.12.2020 09:53:02
ralf_b
ich verstehe dein Anliegen auch nicht gänzlich, deshalb mal ein Vorschlag.
Ergebnis ist die Ermittelung der Anzahl der Filterergebnisse?
Ergebnis nur aus dem Jahr 2020
Sub filtertest()
Dim m As Integer, Anzahlzeilen As Long
Dim rng As Range
m = Month(Date)
'e2:P5 sind die daten
Set rng = ActiveSheet.Range("E2:P5")
rng.Rows(1).AutoFilter Field:=1, Criteria1:=">0", Operator:=xlAnd, Criteria2:="=" & Year(Date)
rng.AutoFilter Field:=m, Criteria1:=">0", Operator:=xlAnd
Anzahlzeilen = WorksheetFunction.Subtotal(103, rng.Columns(m))
If ActiveSheet.AutoFilterMode Then ActiveSheet.ShowAllData
End Sub

Anzeige
AW: nicht markierte Zeilen ausblenden
03.12.2020 09:32:45
Daniel
HI
dein Code lässt sich vereinfachen, da du den C-Wert 5-16 aus m berechnen kannst.
die Zellen mit x oder 1 (je nach dem was du sehen willst, kannst du über Specialcells ausblenden.
wenn du aber die Formel wieder löschen willst, musst du dir erst die Zellen in einer Variable merken, dann die Inhalte löschen und dann ausblenden
Dim m As Integer
dim rng as range
m = Month(Now)
With Sheets("TabEinAus").Cells(1, 1).CurrentRegion
With .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC" & m + 4 & ">0),1,""x"")"
.EntireRow.Sort key1:=.Cells(1, 1), order1:=xlAscending, Header:=xlYes
AnzahlZeilen = WorksheetFunction.Sum(.Cells) + 1
set rng = .SpecialCells(xlcelltypeformulas, 2)
.ClearContents
rng.EntireRow.Hidden = True
End With
End With
wenn du die Zeilen mit 1 sehen willst, musst du in den SpecialCells die 2 einsetzen (Texte auswählen und ausblenden) ,wenn du die "x" sehen willst die 1 (Zahlen auswählen und ausblenden
Gruß Daniel
Anzeige
AW: nicht markierte Zeilen ausblenden
03.12.2020 11:07:41
Frank
Vielen Dank Daniel,
das ist natürlich eine sehr elegante Lösung!
Leider wird mir hierbei die erste Zeile (Überschrift) nicht angezeigt welche allerdings immer angezeigt werden soll.
Wie wäre das zu Lösen?
Gruß Frank.
AW: nicht markierte Zeilen ausblenden
03.12.2020 11:15:51
Daniel
Hi
schreibe in die erste Zelle der Hilfsspalte auch eine Überschrift, nachdem du die Formel eingetragen hast:
.FormulaR1C1 = "..."
.Cells(1, 1).Value = "Überschrift"
da das jetzt ein fixer Text ist, wird diese Zeile dann vom Specialcells mit xl..Formulas nicht gezogen.
Gruß Daniel
AW: nicht markierte Zeilen ausblenden
03.12.2020 11:16:01
Daniel
Hi
schreibe in die erste Zelle der Hilfsspalte auch eine Überschrift, nachdem du die Formel eingetragen hast:
.FormulaR1C1 = "..."
.Cells(1, 1).Value = "Überschrift"
da das jetzt ein fixer Text ist, wird diese Zeile dann vom Specialcells mit xl..Formulas nicht gezogen.
Gruß Daniel
Anzeige
AW: nicht markierte Zeilen ausblenden
03.12.2020 11:22:36
Frank
Sorry Daniel, stehe gerade etwas auf dem Schlauch...
in etwa so:
Dim m As Integer
Dim rng As Range
m = Month(Now)
With Sheets("TabEinAus").Cells(1, 1).CurrentRegion
With .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC" & m + 4 & ">0),1,""x"")"
.EntireRow.Sort key1:=.Cells(1, 1), order1:=xlAscending, Header:=xlYes
AnzahlZeilen = WorksheetFunction.Sum(.Cells) + 1
.FormulaR1C1 = "..."
.Cells(1, 1).Value = "Überschrift"
Set rng = .SpecialCells(xlCellTypeFormulas, 2)
.ClearContents
rng.EntireRow.Hidden = True
End With
End With

Anzeige
AW: nicht markierte Zeilen ausblenden
03.12.2020 11:28:45
Frank
Ok, ich war zu schnell, natürlich funktioniert es so:
Dim m As Integer
Dim rng As Range
m = Month(Now)
With Sheets("TabEinAus").Cells(1, 1).CurrentRegion
With .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC" & m + 4 & ">0),1,""x"")"
.Cells(1, 1).Value = "Überschrift"
.EntireRow.Sort key1:=.Cells(1, 1), order1:=xlAscending, Header:=xlYes
AnzahlZeilen = WorksheetFunction.Sum(.Cells) + 1
Set rng = .SpecialCells(xlCellTypeFormulas, 2)
.ClearContents
rng.EntireRow.Hidden = True
End With
End With
Aber jetzt habe ich ein letztes Problem:
Wie kann dieses umgebaut werden, damit nicht der aktuelle Monat sondern der folgende Monat ausgewertet werden kann?
Es muss also in der benachbarten rechten Spalte gesucht werden...
Gruß Frank
Anzeige
AW: nicht markierte Zeilen ausblenden
03.12.2020 11:48:36
Daniel
Also wenn der Aktuell Monat mit Januar m = 1 ist und du dann die Spalte 5 über m + 4 auswertet, dann sollte es nicht allzu schwer sein, von alleine darauf zu kommen, was zu tun ist, wenn man nicht den aktuellen, sondern den nächsten Monat haben will.
Im Dezember wird etwas schwierig, was man dann macht, hängt von deiner Tabelle ab.
Gruß Daniel
AW: nicht markierte Zeilen ausblenden
03.12.2020 12:16:18
Frank
Genau das ist ja das Problem, wenn der aktuelle Monat der Dezember ist (Spalte P) dann muss er natürlich den Monat Januar anziehen (Spalte E).
Aber genau dafür habe ich noch keinen Lösungsansatz und habe mich seither mir einer Laienhaften Code begnügt:
If m = 1 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC6>0),1,""x"")"
ElseIf m = 2 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC7>0),1,""x"")"
ElseIf m = 3 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC8>0),1,""x"")"
ElseIf m = 4 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC9>0),1,""x"")"
ElseIf m = 5 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC10>0),1,""x"")"
ElseIf m = 6 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC11>0),1,""x"")"
ElseIf m = 7 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC12>0),1,""x"")"
ElseIf m = 8 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC13>0),1,""x"")"
ElseIf m = 9 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC14>0),1,""x"")"
ElseIf m = 10 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC15>0),1,""x"")"
ElseIf m = 11 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today())),RC16>0),1,""x"")"
ElseIf m = 12 Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=(Year(Today())+1)),RC5>0),1,""x"")"
End If

Anzeige
AW: m = (Month(Date) Mod 12) + 1
03.12.2020 13:04:57
GerdL
Moin Frank!
Gruß Gerd
AW: m = (Month(Date) Mod 12) + 1
03.12.2020 13:14:36
Frank
Vielen Dank Gerd, aber diese Zeile bezieht sich nicht auf die Spalte in welcher gesucht werden muss...
oder verstehe ich da was falsch (s. meinen vorherigen Post).
AW: m = (Month(Date) Mod 12) + 1
03.12.2020 13:35:10
GerdL
Jein,
so erhältst du die Nummer des auf den aktuellen Monat folgenden Monats.
Für die E-Spalte etc. musst du wie bisher gezeigt 4 dazuaddieren.
Gruß Gerd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige