Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1372to1376
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

Makro Zeilen ausblenden bei 2 Bedingungen

Makro Zeilen ausblenden bei 2 Bedingungen
03.08.2014 18:06:57
Andreas

Hallo Excelfreunde,
Ich bin neu hier im Forum und hoffe einer kann mir helfen.
suche Makro zu Folgenden Sachverhalt:
In meiner Tabelle stehen in Spalte F und G ab Zeile 14 bis 333 (wobei nicht alle Zeilen bis 333 belegt sind, Datumswerte zB.
F14 = 03.03.2014 G14 = 05.03.2014
F15 = 10.03.2014 G15 = 19.03.2014
F16 = 10.03.2014 G16 = 20.03.2014
F17 = 24.03.2014 G17 = 30.03.2014
usw. usw.
jetzt möchte in Zelle F11 ein beliebiges Anfangsdatum und in Zelle G11 ein beliebiges Enddatum reinschreiben.
Anhand dieser beiden Dat Werte soll meine Tabelle von F14:G333 durchsucht werden und wenn der Wert in Spalte F Gleich oder Größer des eingetragenen Wertes in Zelle F11 und wenn der Wert in Spalte G Gleich oder Kleiner des eingetragenen Wertes in Zelle G11 in gleicher Zeile ist sollen diese Zeilen eingeblendet bleiben und alle anderen Zeilen sollen ausgeblendet werden.
Dieses Makro möchte ich dann einer Schaltfläche zufügen.
Wo muß ich dann gegebenenfalls dieses Makro einfügen?
Tabellenblatt, Diese Arbeitsmappe oder Modul?
Ich möchte dieses Makro auf verschiedene Tabellenblätter und einem Auswertungstabellenblat anwenden können.
Für Eure Bemühung bedanke ich mich bereits jetzt und hoffe das mir bei dieser Aufgabe einer helfen kann
https://www.herber.de/bbs/user/91857.xlsx
besten Dank Andreas

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Zeilen ausblenden bei 2 Bedingungen
03.08.2014 18:08:57
Hajo_Zi
Hallo Andreas,
warum nicht Autofilter?

AW: Makro Zeilen ausblenden bei 2 Bedingungen
03.08.2014 18:13:15
Andreas
Die Datei sollen auch andere Kollegen mit benutzen und da hätte ich das gern per Makro mit einer Schaltfläche
Danke Andreas

AW: Makro Zeilen ausblenden bei 2 Bedingungen
03.08.2014 18:34:11
Andreas
Hallo Hajo,
Ich bin gerade dabei mir VBA Kenntnisse anzueignen Ich habe mir das Buch gekauft VBA mit Excel von Christian Friedrich.
Ich habe mir auch Deine Datei angeschaut da geht das aber mit dem Autofilter nicht wie ich das haben möchte.
Es sollen eben per Schaltfläche alle Zeilen eingeblendet bleiben die in der gleichen Zeile die Bedingung erfüllen
Also wenn zB. in F14 03.03.2014 steht und in G14 10.03.2014
dann soll laut Bedingung in Zelle F11 zB.01.03.2014 und in Zelle G11 zB. 30.03.2014 alle Zeilen eingeblendet bleiben die diese Bedingung erfüllen. Alle anderen Zeilen sollen ausgeblendet werden.
Ich habe VAB nein angegeben weil ich eben noch nicht gut genug bin.
Sorry
Gruß Andreas

Anzeige
AW: Makro Zeilen ausblenden bei 2 Bedingungen
03.08.2014 20:15:31
Andreas
Hallo Excelfreunde,
dieses Makro habe ich bereits um Zeilen auszublenden wenn eine Bedingung in Spalte erfüllt ist in diesem Fall steht In der Zelle eine 1
Sub DatenAusblenden()
Application.ScreenUpdating = False
For i = 14 To Cells(Rows.Count, 55).End(xlUp).Row  'hier beginnt das Makro ab Zeile 14 den  _
Befehl auszuführen
If Cells(i, 55).Value = 1 Then  'wenn in Spalte C Wert 1 steht wird Zeile ausgeblendet
'If Cells(i, 3).Value = 2 Then  'wenn in Spalte C Wert 2 steht wird Zeile ausgeblendet
'If Cells(i, 53).Value < 3 Then
Rows(i).EntireRow.Hidden = True
End If
Next i
Application.ScreenUpdating = True
End Sub
Wie gesagt ich möchte das aber jetzt so haben wie zuvor schon beschrieben.
Wäre für eine Hilfe wirklich dankbar.
Ich denke in der Datei die ich hochgeladen habe kann mein Anliegen hoffentlich nachvollzogen werden.
Gruß Andreas

Anzeige
AW: Makro Zeilen ausblenden bei 2 Bedingungen
04.08.2014 08:39:06
Robert
Hallo Andreas,
wenn ich das richtig verstehe willst du dein Makro nur so modifizieren, dass nur eine von 3 Bedingungen erfüllt sein muss um die Zeile auszublenden.
Das ginge z.B. so:
Sub DatenAusblenden()
Application.ScreenUpdating = False
For i = 14 To Cells(Rows.Count, 55).End(xlUp).Row  'hier beginnt das Makro ab Zeile 14 den  _
Befehl auszuführen
If Cells(i, 55).Value = 1 OR Cells(i, 3).Value = 2 OR Cells(i, 53).Value < 3  _
Then
Rows(i).EntireRow.Hidden = True
End If
Next i
Application.ScreenUpdating = True
End Sub
Der Code Springt an, wenn eine der Drei Bedingungen zutrifft und blendet die Zeile dann aus.
Sollen alle drei Bedingungen erfüllt sein um die Zeile auszublenden, statt OR entsprechend mit AND arbeiten.
Viele Grüße
Robert

Anzeige
AW: Makro Zeilen ausblenden bei 2 Bedingungen
04.08.2014 11:19:12
Andreas
Hallo Robert,
das ist es nicht was ich suche
wie bereits in meiner 1.Frage Datei hängt mit an, möchte ich das das Makro mir folgende Zeilen eingeblendet lassen soll wenn alle beiden Bedingungen erfüllt sind.
1. in Zelle G11 soll zB. das Datum 01.03.2014 geschrieben werden
2. in Zelle F11 soll zB. da Datum 30.03.2014 geschrieben werden
Jetzt soll anhand der beiden Bedingungen Spalte G14:G333 und F14:F333 durchlaufen werden und wenn die Bedingungen aus Zelle G11 in der Spalte G14:G333 das Datum gleich oder größer ausgibt und in der dazugehörigen Zeile in Spalte F14:F333 das Datum gleich oder kleiner anhand der Zelle F11 ist soll die entsprechende Zeile eingeblendet bleiben und alle anderen Zeilen welche der Bedingung nicht entsprechen oder leer sind ausgblendet werden
zB:
Bedingung eintragen in Zelle G11 Datum "01.03.2014"
Bedingung eintragen in Zelle F11 Datum "30.03.2014"
in Zeile Spalte G14 steht Datum "04.03.2014" in Spalte F14 steht Datum "10.03.2014 Zeile soll eingeblendet bleiben
in Zeile Spalte G15 steht Datum "10.03.2014" in Spalte F15 steht Datum "28.03.2014 Zeile soll ebenfalls eingeblendet bleiben
in Zeile Spalte G16 steht Datum "02.04.2014 in Spalte F16 steht Datum "15.04.2014 Zeile soll jetzt ausgeblendet werden.
Ich will also erreichen wenn ich auf eine Schaltfläche klicke das mir dann noch die Mitarbeiter angezeigt werden welche die Bedingungen erfüllen all andere Zeilen sollen ausgblendet werden.
Ich hoffe das ich das jetzt verständlich erklärt habe.
kannst Du, könnt Ihr mir da helfen?
Gruß Andreas

Anzeige
AW: Makro Zeilen ausblenden bei 2 Bedingungen
04.08.2014 12:24:53
Andreas
Hallo Robert,
das ist es nicht was ich suche
wie bereits in meiner 1.Frage Datei hängt mit an, möchte ich das das Makro mir folgende Zeilen eingeblendet lassen soll wenn alle beiden Bedingungen erfüllt sind.
1. in Zelle G11 soll zB. das Datum 01.03.2014 geschrieben werden
2. in Zelle F11 soll zB. da Datum 30.03.2014 geschrieben werden
Jetzt soll anhand der beiden Bedingungen Spalte G14:G333 und F14:F333 durchlaufen werden und wenn die Bedingungen aus Zelle G11 in der Spalte G14:G333 das Datum gleich oder größer ausgibt und in der dazugehörigen Zeile in Spalte F14:F333 das Datum gleich oder kleiner anhand der Zelle F11 ist soll die entsprechende Zeile eingeblendet bleiben und alle anderen Zeilen welche der Bedingung nicht entsprechen oder leer sind ausgblendet werden
zB:
Bedingung eintragen in Zelle G11 Datum "01.03.2014"
Bedingung eintragen in Zelle F11 Datum "30.03.2014"
in Zeile Spalte G14 steht Datum "04.03.2014" in Spalte F14 steht Datum "10.03.2014 Zeile soll eingeblendet bleiben
in Zeile Spalte G15 steht Datum "10.03.2014" in Spalte F15 steht Datum "28.03.2014 Zeile soll ebenfalls eingeblendet bleiben
in Zeile Spalte G16 steht Datum "02.04.2014 in Spalte F16 steht Datum "15.04.2014 Zeile soll jetzt ausgeblendet werden.
Ich will also erreichen wenn ich auf eine Schaltfläche klicke das mir dann noch die Mitarbeiter angezeigt werden welche die Bedingungen erfüllen all andere Zeilen sollen ausgblendet werden.
Ich hoffe das ich das jetzt verständlich erklärt habe.
kannst Du, könnt Ihr mir da helfen?
hatte vergessen den Beitrag noch als offen zu vermerken Sorry
Gruß Andreas

Anzeige
AW: Makro Zeilen ausblenden bei 2 Bedingungen
04.08.2014 13:21:16
Robert
Hallo Andreas,
Jetzt habe ich verstanden.
Du hast die Zellen F11 und G11, in denen du Start und Ende eines Zeitraumes angibst.
Nun sollen alle Zellen, deren Daten in F respektive G außerhalb des angegebenen Zeitraums liegen, ausgeblendet werden, und die, bei denen beide Daten innerhalb des Zeitraumes Liegen sollen eingeblendet bleiben.
So weit weg war mein Makro dann aber nicht :)
Versuche er dieses:
Sub DatenAusblenden()
Application.ScreenUpdating = False
Dim i As Integer
Dim VonSpalte As Integer
Dim BisSpalte As Integer
Dim StartDatum As Range
Dim EndDatum As Range
StartDatum = Range("F11")
EndDatum = Range("G11")
VonSpalte = 1 'Spalte "Zeitraum Von" als Nummer
BisSpalte = 1 'Spalte "Zeitraum Bis" als Nummer
For i = 14 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
If Cells(i, VonSpalte) <= StartDatum Or Cells(i, BisSpalte) >= EndDatum Then
Rows(i).EntireRow.Hidden = True
Else
Rows(i).EntireRow.Hidden = False
End If
Next i
Application.ScreenUpdating = True
End Sub
Variablen entsprechend bearbeiten.
Viele Grüße
Robert

Anzeige
AW: Makro Zeilen ausblenden bei 2 Bedingungen
04.08.2014 14:05:38
Andreas
Hallo Robert,
ja Du hast richtig verstanden was ich will
habe das Makro in meiner Datei in das Tabellenblatt eingefügt das ich filtern möchte.
jetzt kommt aber wenn ich das Makro ausführe die Fehlermeldung "Objektvariable oder With-Blockvariable nicht festgelegt"
in der Excel Hilfe konnte ich aber mit der Erklärung nichts anfangen
"With....End With"
habe vonSpalte = 1 auf vonSpalte = 6 geändert für Stalte "F" und
habe bisSpalte = 1 auf bisSpalte = 7 geändert für Spalte "G"
funktioniert aber bei mir nicht
wie muß ich also nach Deiner Meinung nach die Variablen anpassen?
brauche unbedingt noch Hilfe
Gruß Andreas

Anzeige
AW: Makro Zeilen ausblenden bei 2 Bedingungen
04.08.2014 14:13:56
Robert
Hallo Andreas,
da hab ich wohl einen Knick in der Logik bei meinen Rangevariablen.
so läufts durch, dann musst du eben die Zellen mit Start bzw. Enddatum im Code selbst und nicht komfortabel oben ändern.:
Option Explicit
Sub DatenAusblenden()
Application.ScreenUpdating = False
Dim i As Integer
Dim VonSpalte As Integer
Dim BisSpalte As Integer
Dim StartDatum As Range
Dim EndDatum As Range
VonSpalte = 1 'Spalte "Zeitraum Von" als Nummer
BisSpalte = 1 'Spalte "Zeitraum Bis" als Nummer
For i = 14 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
If Cells(i, VonSpalte) <= Range("F11") Or Cells(i, BisSpalte) >= Range("G11") Then 'erst  _
Startdatum, dann Enddatum
Rows(i).EntireRow.Hidden = True
Else
Rows(i).EntireRow.Hidden = False
End If
Next i
Application.ScreenUpdating = True
End Sub
Viele Grüße
Robert

Anzeige
AW: Makro Zeilen ausblenden bei 2 Bedingungen
04.08.2014 14:45:40
Andreas
Hallo Robert,
ja so funktioniert das besten
genau so habe ich mir das vorgestellt.
wie ich beim testen festgestellt habe bleiben die Zeilen mit erfüllter Bedingung korrekt eingeblendet.
wie kann ich es jetzt aber noch hinkriegen das auch noch zusätzlich die Zeilen eingeblendet bleiben wenn in Spalte F noch kein Enddatum steht, sondern der Text "ohne" aus einer Formel
Soll heißen das ich in Spalte G ein Beginn Datum einfüge und in Spalte F dann ein Enddatum einfüge.
so zB.
Zeile G15 das Datum 10.03.2014 F15 steht dann noch aus einer Formel "ohne" diese Zeile soll dann ebenfalls noch mit eingeblendet sein
kann man das irgendwie noch mit in das Makro einbauen?
brauche nochmals Hilfe dazu
Gruß Andreas

AW: Makro Zeilen ausblenden bei 2 Bedingungen
04.08.2014 14:19:02
Robert
Hallo Andreas,
Flüchtigkeitsfehler:
Statt
StartDatum = Range("F11")
EndDatum = Range("G11")

Schreibe:
Set StartDatum = Range("F11")
Set EndDatum = Range("G11")
viele Grüße
Robert

AW: Makro Zeilen ausblenden bei 2 Bedingungen
04.08.2014 15:07:53
Andreas
Hallo Robert, Hallo Exelfreunde
habe das Makro von Robert jetzt nochmals angepasst (bis dahin erst mal vielen Dank an Robert für die gute Unterstützung)
Sub DatenAusblenden()
Application.ScreenUpdating = False
Dim i As Integer
Dim VonSpalte As Integer
Dim BisSpalte As Integer
Dim StartDatum As Range
Dim EndDatum As Range
Set StartDatum = Range("F11")
Set EndDatum = Range("G11")
VonSpalte = 6 'Spalte "Zeitraum Von" als Nummer
BisSpalte = 7 'Spalte "Zeitraum Bis" als Nummer
For i = 14 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
If Cells(i, VonSpalte) <= StartDatum Or Cells(i, BisSpalte) >= EndDatum Or Cells(i,  _
BisSpalte) = "ohne" Then
Rows(i).EntireRow.Hidden = True
Else
Rows(i).EntireRow.Hidden = False
End If
Next i
Application.ScreenUpdating = True
End Sub

und an die If Anweisung noch eine Oder Bedingung eingefügt
Or Cells(i, BisSpalte) = "ohne" Then
diese Anweisung funktioniert aber nicht. Was ist da noch falsch oder muß geändert werden?
brauche nochmal Hilfe dazu
Gruß Andreas

AW: Makro Zeilen ausblenden bei 2 Bedingungen
04.08.2014 15:37:09
Robert
Hallo Andreas,
Sollte funktionieren.
Was heißt denn "funktioniert nicht"? Gibt es eine Fehlermeldung? oder einfach nur nicht das gewünschte Ergebnis? Logikfehler?
Dein Code oben sagt:
Wenn in der Spalte Bis "ohne" steht, blende die Zeile aus, ansonsten lasse sie eingeblendet
Viele Grüße
Robert

AW: Makro Zeilen ausblenden bei 2 Bedingungen
04.08.2014 15:43:22
Andreas
Hallo Robert,
ja es ist einfach nur nicht das gewünschte Ergebnis? Logikfehler?
Dein Code oben sagt:
Wenn in der Spalte Bis "ohne" steht, blende die Zeile aus, ansonsten lasse sie eingeblendet
es soll gerade umgekehrt sein
wenn in der Spalte Bis "ohne" steht soll sie auch eingeblendet bleiben
Viele Grüße Andreas

AW: Makro Zeilen ausblenden bei 2 Bedingungen
04.08.2014 15:59:52
Robert
Hallo Andreas,
dachte ich mir fast, Logikfehler...
Bisher funktioniert der Code, in dem er sagt, wenn die Daten Außerhalb der Range liegen, dann verstecke die Zeilen.
Um die zusätzliche bedingung einzubauen muss man die Logik umkehren. Das bedeutet, wenn die Daten innerhalb liegen, lasse sie eingeblendet, ansonsten blende aus.
Sieht dann so aus: (die Größer kleiner Zeichen sind jetzt andersrum und die Aktionen mit .hidden sind vertauscht). Ich nehme an wenn das Startdatum nicht passt, soll der Bereich trotz "ohne" nicht angezeigt werden (deswegen die Klammer um die OR Bedingung)?
Option Explicit
Sub DatenAusblenden()
Application.ScreenUpdating = False
Dim i As Integer
Dim VonSpalte As Integer
Dim BisSpalte As Integer
Dim StartDatum As Range
Dim EndDatum As Range
Set StartDatum = Range("F11")
Set EndDatum = Range("G11")
VonSpalte = 6 'Spalte "Zeitraum Von" als Nummer
BisSpalte = 7 'Spalte "Zeitraum Bis" als Nummer
For i = 14 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
If Cells(i, VonSpalte) >= StartDatum And (Cells(i, BisSpalte) <= EndDatum Or Cells(i, _
BisSpalte) = "ohne") Then
Rows(i).EntireRow.Hidden = False
Else
Rows(i).EntireRow.Hidden = True
End If
Next i
Application.ScreenUpdating = True
End Sub

ungetestet, sollte aber klappen.
Viele Grüße
Robert

AW: Makro Zeilen ausblenden bei 2 Bedingungen
04.08.2014 16:13:51
Andreas
Hallo Robert,
ja das war es was ich wollte
klappt bestens
vielen herzlichen Dank Du hast mir sehr geholfen
Damit ist mein Anliegen gelöst
liebe Grüße vielleicht bis bald
Andreas

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige