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

Markierte Zellen als Filter

Markierte Zellen als Filter
Günter
Hallo,
ich habe mal wieder ein Problem.
Ich möchte markierte Zellen eine Spalte als Filter-Array haben.
Folgendes habe ich probiert
Dim FilterArray() as Variant
FilterArray = Application.Transpose(rngCell.Value)
Hier bekomme ich eine Fehlermeldung.
Könntet Ihr mir helfen?
Gruß Günter
AW: Markierte Zellen als Filter
10.01.2012 22:56:06
Josef

Hallo Günter,
das geht nur, wenn der Zellbereich zusammenhängend ist, sonst musst du die Zellen einzeln in das Array schaufeln.

« Gruß Sepp »

AW: Markierte Zellen als Filter
10.01.2012 22:59:39
Günter
Hallo Sepp,
ja die Zellen hängen immer zusammen.
Trotzdem kommt die Fehlermeldung.
Noch eine Idee?
Gruß Günter
Anzeige
AW: Markierte Zellen als Filter
10.01.2012 23:03:35
Josef

Hallo Günter,
Ideen hab ich viele, aber du solltest vielleicht den gesamten Code zeigen und beschreiben, was du genau vor hast.

« Gruß Sepp »

AW: Markierte Zellen als Filter
10.01.2012 23:11:44
Günter
Hallo Sepp,
ja du hast Recht.
Folgendes Vorhaben:
- in Spalte F ist ein AutoFilter per Hand auswahl aktiv
- Zu diesem Filter werden in Spalte B verschiedene Werte angezeigt
- ich möchte jetzt händisch aneinander hängend markierte Zelle als neuen Autofilter in Spalte B habe (Filter in Spalte F natürlich gelöscht)
Das alles funktioniert nur bekomme ich in der Anweisung
ActiveSheet.Range("$A$2:" & sp & ze).AutoFilter Field:=FilterFeld, Criteria1:=FiltertArray, Operator:=xlFilterValues
das Filterkriterium 'FilterArray' aus den markierten Zellen nicht hin.
Ich hoffe es ist verständlich.
Gruß Günter
Anzeige
AW: Markierte Zellen als Filter
10.01.2012 23:19:51
Josef

Hallo Günter,
wenn du die Option Explicit - Anweisung verwenden würdest, wäre dir der Schreibfehler bei
Criteria1:=FiltertArray

aufgefallen.

« Gruß Sepp »

AW: Markierte Zellen als Filter
11.01.2012 00:00:18
Günter
Hallo Sepp,
grundsätzlich hast Du recht.
Ich nutze aber immer Option Explicit.
Es ist nur nicht aufgefallen, da mein DIM-Befehl ebenfalls den Fehler hat.
Trotzdem Danke für Deine Hilfe.
Günter
Anzeige
AW: Markierte Zellen als Filter
11.01.2012 00:00:22
Günter
Hallo Sepp,
grundsätzlich hast Du recht.
Ich nutze aber immer Option Explicit.
Es ist nur nicht aufgefallen, da mein DIM-Befehl ebenfalls den Fehler hat.
Trotzdem Danke für Deine Hilfe.
Günter
AW: Markierte Zellen als Filter
11.01.2012 00:03:42
Josef

Hallo Günter,
bis auf den Schreibfehler funktioniert dein Code bei mir ohne Probleme.

« Gruß Sepp »

Anzeige
AW: Markierte Zellen als Filter
10.01.2012 23:15:25
fcs
Hallo Günther,
wenn du die Werte eines Zellbereichs (mehrere Zellen) an eine Variable übergeben willst, dann darfst du die Variable nicht als Feld dimesionieren, sondern nur als "einfache" Variantvariable.
Allerdings gibt es hier ein Problem, wenn der Zellebereich nur eine Zelle beinhalte, dann ist die Variable kein Array, sondern ein einfacher Wert.
Deswegen ist es ggf. sicherer, die Daten immer in eine ensprechend dimensionierte als Feld deklarierte Variable einzulesen.
Gruß
Franz
Sub Test()
'für eine Mehrfachselektion
Dim FilterArray() As Variant, rngCell As Range, objArray, intI As Integer
Set rngCell = Selection
intI = 0
For Each objArray In rngCell.Cells
ReDim Preserve FilterArray(0 To intI)
FilterArray(intI) = objArray.Value
intI = intI + 1
Next
'Testanzeige
For intI = LBound(FilterArray) To UBound(FilterArray)
MsgBox FilterArray(intI)
Next
End Sub
Sub Test1()
'Funktioniert nur wenn die Zellselektion 2 oder mehr Zellen beinhaltet.
Dim FilterArray As Variant, rngCell As Range, intI As Integer
Set rngCell = Selection
If rngCell.Rows.Count = 1 Then
'Selektion in einer Zeile
FilterArray = Application.Transpose(rngCell)
Else
'Selektion in Spalte(n)
FilterArray = rngCell
End If
'Testanzeige
For intI = LBound(FilterArray) To UBound(FilterArray)
MsgBox FilterArray(intI, 1)
Next
End Sub

Anzeige
AW: Markierte Zellen als Filter
10.01.2012 23:19:15
Günter
Hallo Franz,
sieht gut aus.
Verabschiede mich für heute und werde morgen eine Rückmeldung geben.
Danke Günter
AW: Markierte Zellen als Filter
10.01.2012 23:58:03
Günter
Hallo Franz,
hat mich doch nicht in Ruhe gelassen!
Es funktioniert. Eine evtl. Markierung von nur einem Feld fange ich vorher ab und führe einen anderen Autofilter-Befehl aus.
Danke und noch einen schönen Abend.
Günter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige