Excel Filterungsproblem :(
#11
Hi,


funktioniert immer noch nicht bei mir :(... die Liste öffnet sich unverändert... vielleicht habe ich noch irgendwas übersehen.... was muss in Then .Cells(n, 1) drinstehen?




Private Sub CommandButton1_Click()

Dim n As Long
Workbooks.Open "C:\Users\1333\Desktop\Reporting\LIST_Freiverwendbar_HB.XLSX"

With Sheets("Sheet1")
  .UsedRange.EntireRow.Hidden = False
 For n = 2 To .Cells(Rows.Count, 8).End(xlUp).Row
 If .Cells(n, 5) < .Cells(n, 8) Then .Cells(n, 1).EntireRow.Hidden = True
 Next n
End With



Danke und vG Ptwo


Angehängte Dateien Thumbnail(s)
   
Top
#12
Hi

Zitat:(... die Liste öffnet sich unverändert...
Unverändert sollte sie sich wenn der Blattname Sheet1 stimmt nun nicht öffnen.

Höchstens mit umgekehrter Logig.
Deine Zeile
If .Cells(n, 5) < .Cells(n, 8) Then .Cells(n, 1).EntireRow.Hidden = True


sollte nach #1 und meinem Verständins aber so sein.
If .Cells(n, 8) < .Cells(n, 5) Then .Cells(n, 1).EntireRow.Hidden = True


Gruß Elex
Top
#13
auch umgekehrt funktioniert diese nicht...
habe die VBA Excel nochmal angehängt

vG
Ptwo


Angehängte Dateien
.xlsm   TestVBA.xlsm (Größe: 13,52 KB / Downloads: 9)
Top
#14
Ich habe in deine letzte Datei im Code nun auf meine Testdatei verwiesen und geht.

Code:
Private Sub CommandButton1_Click()

Dim n As Long

Workbooks.Open "C:\Users\Nutzer\Desktop\Test 2 Datein\Report.xlsx"
With Sheets("Tabelle1")
 .UsedRange.EntireRow.Hidden = False
 For n = 2 To .Cells(Rows.Count, 8).End(xlUp).Row
   If .Cells(n, 8) < .Cells(n, 5) Then .Cells(n, 1).EntireRow.Hidden = True
 Next n
End With

End Sub
Report wird gefiltert geöffnet.

Da ich deine Datei die geöffnet wird nicht habe, kann ich nicht nachvollziehen wo es hängt. (Blattschutz?)
Top
#15
funktioniert jetzt :) 

vielen Dank nochmal
Top
#16
Smile 
eine kleine Frage hätte ich jedoch noch :)

momentan ist es so, dass sich die komplette Liste jetzt gefiltert öffnet... besteht die Möglichkeit, die gefilterte Liste noch zusätzlich per Eingabe (siehe Bild) zu filtern? - Beispiel: 601, 603, 604 gebe ich in das Textfeld ein, bestätige es mit dem OK-Button und die Liste öffnet sich und zeigt mir nur die Spalten mit den eingegebenen Dispo-ID's - bleiben die Eingabefelder leer, soll er die komplette gefilterte Liste anzeigen


... habe jede Menge Internet-Recherchen betrieben aber leider nix dazu gefunden...


Viele Grüße
Ptwo


Angehängte Dateien Thumbnail(s)
   
Top
#17
Hi

Code:
Private Sub CommandButton1_Click()
Dim arrWerte As Variant

Workbooks.Open "C:\Users\Nutzer\Desktop\Test 2 Datein\Report.xlsx"

With Sheets("Tabelle2")
  If TextBox1.Value <> "" Or TextBox2.Value <> "" Or TextBox3.Value <> "" Then
     arrWerte = Array(TextBox1.Value, TextBox2.Value, TextBox3.Value)
        .Range("A1").CurrentRegion.AutoFilter
        .Range("A1").CurrentRegion.AutoFilter field:=7, _
           Criteria1:=arrWerte, Operator:=xlFilterValues
  Else
    If .AutoFilterMode Then .AutoFilter.ShowAllData
  End If
End With
End Sub
Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Ptwo
Top
#18
funktioniert super :)) danke


würde es auch mit der zusätzlichenFilterung hier in Kombination gehen?



Dim n As Long

Workbooks.Open "O:\Physische_Logistik\20_NSM_Entsorgung\30_Materialsteuerung_NSM\20_Aufgaben_Projekte\Persönliche_Ordner (temporär)\Janshen_Stephanie\LIST_Freiverwendbar_HB.XLSX"

With Sheets("Sheet1")
  .UsedRange.EntireRow.Hidden = False
  For n = 2 To .Cells(Rows.Count, 8).End(xlUp).Row
    If .Cells(n, 8) > .Cells(n, 5) Then .Cells(n, 1).EntireRow.Hidden = True
  Next n
End With
Top
#19
Code:
Private Sub CommandButton1_Click()
Dim arrWerte As Variant, n As Long

Workbooks.Open "C:\Users\Nutzer\Desktop\Test 2 Datein\Report.xlsx"
With Sheets("Tabelle2")
 If TextBox1.Value <> "" Or TextBox2.Value <> "" Or TextBox3.Value <> "" Then
    arrWerte = Array(TextBox1.Value, TextBox2.Value, TextBox3.Value)
       .Range("A1").CurrentRegion.AutoFilter
       .Range("A1").CurrentRegion.AutoFilter field:=7, _
          Criteria1:=arrWerte, Operator:=xlFilterValues
 Else
   If .AutoFilterMode Then .AutoFilter.ShowAllData
 End If

 For n = 2 To .Cells(Rows.Count, 8).End(xlUp).Row
   If .Cells(n, 8) > .Cells(n, 5) Then .Cells(n, 1).EntireRow.Hidden = True
 Next n
End With
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • Ptwo
Top
#20
(07.03.2019, 16:30)Elex schrieb:
Code:
Private Sub CommandButton1_Click()
Dim arrWerte As Variant, n As Long

Workbooks.Open "C:\Users\Nutzer\Desktop\Test 2 Datein\Report.xlsx"
With Sheets("Tabelle2")
 If TextBox1.Value <> "" Or TextBox2.Value <> "" Or TextBox3.Value <> "" Then
    arrWerte = Array(TextBox1.Value, TextBox2.Value, TextBox3.Value)
       .Range("A1").CurrentRegion.AutoFilter
       .Range("A1").CurrentRegion.AutoFilter field:=7, _
          Criteria1:=arrWerte, Operator:=xlFilterValues
 Else
   If .AutoFilterMode Then .AutoFilter.ShowAllData
 End If

 For n = 2 To .Cells(Rows.Count, 8).End(xlUp).Row
   If .Cells(n, 8) > .Cells(n, 5) Then .Cells(n, 1).EntireRow.Hidden = True
 Next n
End With
End Sub

besteht die Möglichkeit eine zusätzliche Spalte mit einer Eingabe in einer zusätzlichen Textbox (TextBox4) zu filtern ?

Viele Grüße :)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste