05.03.2019, 14:10 (Dieser Beitrag wurde zuletzt bearbeitet: 05.03.2019, 14:30 von Ptwo.)
Hallo Excel-Freunde,
habe ein kleines Problem.... habe per VBA eine Startmaske mit Userforms erstellt, per Button soll eine zusätzliche Excel-Datei automatisch gefiltert geöffnent werden...
in etwa sind es 1000 Zeilen... die Filterung sollte sein: "Höchstbestand ist größer als Rundungswert" ... alle anderen Werte sollen nicht angezeigt bzw ausgeblendet werden
05.03.2019, 14:44 (Dieser Beitrag wurde zuletzt bearbeitet: 05.03.2019, 14:54 von Ptwo.)
danke für die prompte Antwort,
die VBA-Maske und die Excel mit den Daten sind separat voneinander getrennt, mit welchem Befehlscode für den Button öffne ich die ungefilterte Excel-Datei gefiltert? Gibt es dazu einen Code der die gefiltert öffnet?
(05.03.2019, 14:44)Ptwo schrieb: danke für die prompte Antwort,
die VBA-Maske und die Excel mit den Daten sind separat voneinander getrennt, mit welchem Befehlscode für den Button öffne ich die ungefilterte Excel-Datei gefiltert? Gibt es dazu einen Code der die gefiltert öffnet?
Du könntest in der Datei die geöffnet werden soll im Modul DieseArbeitsmappe den Code schreiben.
So wird immer gefiltert beim öffnen. (Balttnamen anpassen)
Code:
Private Sub Workbook_Open()
Dim n As Long
With Sheets("Tabelle1")
.UsedRange.EntireRow.Hidden = False
For n = 2 To .Cells(Rows.Count, 8).End(xlUp).Row
If .Cells(n, 8) < .Cells(n, 9) Then .Cells(n, 1).EntireRow.Hidden = True
Next n
End With
End Sub
also müsste ich jedes mal bei einem wöchentlichem Datei-Auszug den Code hinuzufügen?
wäre dies über einen Button in der Maske umsetzbar bzw. automatisierbar?
Es sollte auch funktionieren wenn du den Code im Button verwendest. Die ? anpassen.
Fehlerabfragen überlasse ich Dir. (Datei schon öffen, nicht existent)
Code:
Private Sub cmdgefiltertÖffnen_Click()
Dim n As Long
Workbooks.Open "C:\??????\????.xlsx"
With Sheets("??????")
.UsedRange.EntireRow.Hidden = False
For n = 2 To .Cells(Rows.Count, 8).End(xlUp).Row
If .Cells(n, 8) < .Cells(n, 9) Then .Cells(n, 1).EntireRow.Hidden = True
Next n
End With
End Sub
Gruß Elex
Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:1 Nutzer sagt Danke an Elex für diesen Beitrag 28 • Ptwo
Es sollte auch funktionieren wenn du den Code im Button verwendest. Die ? anpassen.
Fehlerabfragen überlasse ich Dir. (Datei schon öffen, nicht existent)
Code:
Private Sub cmdgefiltertÖffnen_Click()
Dim n As Long
Workbooks.Open "C:\??????\????.xlsx"
With Sheets("??????")
.UsedRange.EntireRow.Hidden = False
For n = 2 To .Cells(Rows.Count, 8).End(xlUp).Row
If .Cells(n, 8) < .Cells(n, 9) Then .Cells(n, 1).EntireRow.Hidden = True
Next n
End With
With Sheets("Sheet1")
.UsedRange.EntireRow.Hidden = False
For n = 2 To .Cells(Rows.Count, 1649).End(xlUp).Row
If .Cells(n, 5) < .Cells(n, 8) Then .Cells(n, 1).EntireRow.Hidden = True
Next n
End With
funktioniert noch nicht... Liste wird unverändert geöffnet :( bei with Sheets den Blatt-Namen eingeben oder?
in der Zeile
For n = 2 To .Cells(Rows.Count, 1649).End(xlUp).Row
steht die Rot Zahl für die Spalte H = 8 bei mir. Glaube jetzt mal nicht das die Spalte 1649 bei dir die Datenspalte ist.
If .Cells(n, 5) < .Cells(n, 8) Then .Cells(n, 1).EntireRow.Hidden = True
in #1 gibst du H und I als relevante Spalten an. Ob jetzt bei dir 5=E und 8=H die richtigen sind weisst nur du.