Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Warum geht mein Code nicht?

Warum geht mein Code nicht?
Holger,
Hallo,
Tino hat mir mal bei der Programmierung eines tollen AdvancedFilters geholfen.
Nun dachte ich, das auf mein aktuelles Problem anwenden zu können,
nämlich einen riesigen Rangebereich einzuschränken anhand eines Kriteriums.
Der Aufbau ist so
1;CEE
2;CEE
3,CEE
4;HOLGER
5;TINO
6;RENE
7;LUC
Mit AdvancedFilter will ich einschränken auf alle CEE Zellen.
Dazu habe ich in P1 eine Überschrift und in P2 das Kriterium geschrieben.
Das als Rangebereich definiert und diesen als Kriterium für AdvancedFilter angegeben.
Klappt leider null, siehe Macro.
Was mache ich falsch?
Option Private Module
Option Explicit
Sub PrepareSheets()
Dim wks1M As Worksheet, wks2M As Worksheet
Dim rngEntireRange As Range
Dim rngID As Range, rngSALES As Range, rngNON

Sub As Range, rngCEEMEA As Range
Dim lngLastCell As Long
Dim intColID As Integer
If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData
Set wks1M = Worksheets("Data1M")
'Set wks2M = Worksheets("Data2M")
Set rngID = wks1M.Cells.Find(What:="ID", lookat:=xlPart)
intColID = rngID.Column
lngLastCell = wks1M.Cells(Rows.Count, 1).End(xlUp).Row
Set rngEntireRange = wks1M.Range(Cells(2, intColID), Cells(lngLastCell, intColID))
Set rngCEEMEA = Range("P1:P2")
With rngEntireRange
.AdvancedFilter xlFilterInPlace, rngCEEMEA
End With
End Sub

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Referenzierung, wie so oft.
03.12.2010 11:39:13
Rudi
Hallo,
Set rngEntireRange = wks1M.Range(wks1M.Cells(2, intColID), wks1M.Cells(lngLastCell, intColID))
Gruß
Rudi
Filter nur auf eine Zeile!?
03.12.2010 12:55:55
Holger,
Hallo Rudi,
ausgebessert und Code läuft aber jetzt wird tatächlich gefiltert
und zwar nur auf die erste Zelle, die das Kriterium enthält.
Also
1;CEE
2;CEE
3,CEE
ergibt jetzt:
1;CEE
Was mache ich denn nur falsch? Ich verstehe das nicht.
Anzeige
AW: Filter nur auf eine Zeile!?
03.12.2010 13:12:00
Rudi
Hallo,
der zu filternde Bereich muss die Überschriften einschließen.
Set rngEntireRange = wks1M.Range(wks1M.Cells(1, intColID), wks1M.Cells(lngLastCell, intColID))
Gruß
Rudi
AAHHHHHHHH, noch zwei Fragen
03.12.2010 13:20:42
Holger,
He Rudi,
genau das war's!
Nur kleines Problem. Die erste Zeile ist der Header und soll bei der Bearbeitung
nicht berücksichtigt werden. Wie kann ich also nun die erste Zeile des Ranges wieder wegnehmen?
Und zweite Frage. Wenn ich nun debug.print rngEntireAre.address eingebe,
habe ich immer noch alles. Wenn ich nun durch den RangeBereich schleife,
wie greife ich auf den gefilterten Bereich zu? Mit If row hidden gleich false?
Anzeige
AW: AAHHHHHHHH, noch zwei Fragen
03.12.2010 13:37:03
Rudi
Hallo,
Wie kann ich also nun die erste Zeile des Ranges wieder wegnehmen?
Set rngEntireRange = rngEntireRange.Offset(1).Resize(rngEntireRange.Rows.Count-1)
wie greife ich auf den gefilterten Bereich zu?
rngEntireRange.SpecialCells(xlCellTypeVisible)
Gruß
Rudi
Klasse!!!!! DANKE!!!!
03.12.2010 13:40:21
Holger,
Hi Rudi,
mit deinen Befehlen hat das Denken doch was gebracht, denn nun
ist der Range wirklich limitiert.
Ich bin wie immer begeistert!!
Tausend Dank,
Holger
Anzeige
Viel gedacht, wenig hat's gebracht.
03.12.2010 13:31:04
Holger,
Hi Rudi,
wenn ich so darüber nachdenke, bringt mich das nicht zum Ziel.
Ich wollte ja einen limitierten Rangebereich, ein gefilterter bringt
ja keinen Performancegewinn. Denn on hidden ja oder nein,
auf diese Weise muss ich ja doch durch den ganzen Rangebereich durch.
Da könnte ich ja auch abfragen ob ZellValue = CEE ist.
Hm, ich bin jetzt leicht deprimiert.
Viel gedacht, wenig hat's gebracht.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige