Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
260to264
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
260to264
260to264
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kann nicht mehr weiter

Kann nicht mehr weiter
25.05.2003 14:10:31
Johann
Hallo eine schönen guten Tag
sitze nun schon mehrere Nächte und schaffe es nicht ....

Sollte in Angefügter Tabelle mit Filter den Datenbereich aus der Spalte S wenn Wert"1" vorkommt Filtern und das Ergebnis nach Tabelle zwei kopieren...

jedoch bin ich jetzt daraufgekommen das es mit Autofilter nicht funktioniert.....nur ca.1000 Datensätze werden gefiltert.....

es können aber 10000 sein.......habe jetzt soviel über spezialfilter gelesen das ich mich gar nicht mehr auskenne ....

bitte !!!!!

gruss Johann

Im Anhang mein bisheriger Code und die Beispieltabelle:


bin nicht immer online heute ...


Sub Create_Filter()

'Datenbereich finden (Hintergrundfarbe 37)

On Error Resume Next

'Chance ausschalten


Application.EnableEvents = Not Application.EnableEvents


ActiveSheet.Range("A24").Select
For ActRow = 1 To 640000
If ActiveCell.Offset(ActRow, 0).Interior.ColorIndex <> 37 Then Exit For
Next ActRow

If ActRow = 1 Then
MsgBox ("Achtung: Keine Daten vorhanden!")
Exit Sub
End If

On Error Resume Next

'Datenbereich hier sind noch alle Datensätze vorhanden und Korrekt !!

PtWdata = "Tabelle1!R24C1:R" & Trim(Str(24 + ActRow - 1)) & "C19"


'Arbeitsmappe auslesen mit Kriterium "Tabelle1"

Application.DisplayAlerts = False
Dim wks As Worksheet

For Each wks In Sheets
If wks.Name = "Tabelle1" Then Selection.AutoFilter Field:=19, Criteria1:="1"


Next
Application.DisplayAlerts = True

ActiveSheet.Range("A24").Select

Rows(Zeile).Hidden = False


For ActRow = 1 To 640000
If ActiveCell.Offset(ActRow, 0).Interior.ColorIndex <> 37 Then Exit For
Next ActRow

If ActRow = 1 Then
MsgBox ("Achtung: Keine Daten vorhanden!")
Exit Sub
End If

On Error Resume Next

'Hier sollte nur noch der gefilterte Bereich herauskommen !!!!

PtWdata2 = "Tabelle1!R24C1:R" & Trim(Str(24 + ActRow - 1)) & "C19"

'Hier bekomme ich statt 12 Datensätzen (PtWdata) alle zurück so als wenn der
'Autofilter nicht eingeschaltet wäre !!!!
'Oder müsste ich das mit Sortieren machen ...da weiß ich allerdings nicht wie
'ich den datenbereich ausrechnen soll ????


PtWdata.Select
PtWdata.Copy

Sheets("Tabelle2").Select
Rows("24:24").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Sheets("Tabelle1").Select
Application.CutCopyMode = False


End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Kann nicht mehr weiter
25.05.2003 14:30:04
andre
hallo johann,
im prinzip so:

Sub Makro1()
'
' Makro1 Makro
' Makro am 25.05.2003 von wanderer aufgezeichnet
'
    Range("A1:S8").AdvancedFilter _
    Action:=xlFilterCopy, _
    CriteriaRange:=Range("T1:T2"), _
    CopyToRange:=Range( _
        "A10"), _
    Unique:=False
' in T1 steht die Überschrift identisch wie in Filterspalte
' in T2 und bei Bedarf darunter die Kriterien
End Sub 
     Code eingefügt mit Syntaxhighlighter 1.16


gruss andre
Anzeige
Re: Kann weiter vorerst
25.05.2003 14:41:55
Johann
Hallo Andre

Danke für den Typ ...muss es genau beäugen....

weil jetzt sind die daten alle verschwunden jedoch das liegt sicher an mir.....


Der Datenbereich ist Variabel nur die Spalte ist immer fix.....

ich melde mich wieder wenn ich erfolg gehabt haben...

mir läuft die zeit davon und hab kein hirnschmalz mehr *ggg*

gruss

Johann

Re: Kann weiter vorerst
25.05.2003 20:57:26
andre
hallo johann,
noch ein tipp - die spalten sollten alle eine überschrift bekommen - und wenn es nur leerzeichen sind.
gruss andre
Re: Kann vorerst nicht mehr weiter *g+
26.05.2003 17:18:51
Johann
Hallo Andre

falls du online bist nach einer mütze schlaf und einem tag mit 20 schülern ...aber nicht in excel *g* habe ich jetzt dein makro probiert....er schreibt mir "Anwendungs oder Objektdefinierter Fehler"...

vielleicht habe ich T1 und T2 nicht richtig verstanden.
auch wenn ich den Filterbereich händisch setze komme ich nicht auf ein richtiges ergebniss.

Mein filterbereich beginnt bei zeile 24 und geht bis zeile 151 den ich in der folge berechnen werde.
die Filterspalte S heisst bei mir jetzt T1 und das Kriterium wäre nur Datensätze mit "1" anzeigen ....was mache ich falsch...

gruss

johann


Sub Makro1()
'
' Makro1 Makro
' Makro am 25.05.2003 von wanderer aufgezeichnet
'Worksheets("Tabelle1").Activat
Range("A24:S151").AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Range("T1:1"), _
CopyToRange:=Range( _
"A10"), _
Unique:=False
' in T1 steht die Überschrift identisch wie in Filterspalte
' in T2 und bei Bedarf darunter die Kriterien
End Sub

Anzeige

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige