Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
528to532
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
528to532
528to532
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA und Range bei AutoFilter

VBA und Range bei AutoFilter
10.12.2004 12:10:36
r3wDy
Hi!
Ich hab da ein kleines Problem mit VBA und excel. Un zwar: Ich geh in meinem Macro immer alle markierten zeilen durch mit
for each c in target...
Das funktioniert auch wunderbar, nur wenn ich die tabelle mit autofilter sortiert habe bekomme ich die falschen ranges. ich markiere z.b. 5 felder die der autofilter hergegeben habe aber die range umfasst auch alle felder die zwischen denen liegen also immer so zwischn 7 und 500 datenfeldr die ich garnicht markiert habe. Hab ich was vergessen oder muss ich noch bei jeder zelle einzeln checkne ob sie markiert ist? weil wenn ich verschiedene markierungen setze, die nicht alle an einem stück sich (mit strg und lücken dazwischen) ohne autofiler dann bekomme ich die felder die dazwischen liegen auch nicht in die range. Ist das ein excel bug oder hab ich was falsch verstanden?
Weis einer wie ich nur an die felder rankomme die markiert sind? sowohl mit als auch ohne autofilter

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA und Range bei AutoFilter
ransi
hallo
als beispiel(wenn ich dich richtig verstanden habe):
Option Explicit
Public

Sub t()
Dim zelle As Range
For Each zelle In Selection
If zelle.Rows.Hidden = False Then zelle.Interior.ColorIndex = 3
Next
End Sub

färbt alle zellen die nicht ausgeblendet sind rot.
vieleicht hilfts dir weiter.
ransi
AW: VBA und Range bei AutoFilter
r3wDy
Nein das bringt mich auch nicht weiter. Ich versuch das mla zu erläutern:
ich hab ne Tabelle mit namen z.b.
Karl
Karl
Franz
Karl
und darauf mach ich autofilter und wähle karl aus. der autofilter gibt mir nun die tabelle
Karl
Karl
Karl
aus, der franz ist logischerweise nicht dabei. wenn ich nun alle karl in karl2 haben will mache ich das mit str+u und excel macht dann auch nur die 3. wenncihg das aber mit vba machen will geh ich in on change und sage for each c in target. Hier ist nun aber in der range target die zeile Franz mit drin, weil die genau dazwischen liegt, und wenn ich nun in vba da ändere dann gerät der franz mit rein, und da will ich ja nicht
Hoffe das ist so besser umschrieben
Anzeige
Noch einfacher
r3wDy
Ums noch einfacher darzustellen:
Man mache sich ne Tabelle und trägt 3 werte ein z.b.
1
2
1
macht autofilter auf 1 markiert die beiden 1er und macht autofilter wieder auf alle. et viola: die 2 ista uch markiert. Und das ist das problem
AW: VBA und Range bei AutoFilter
Boris
Hi,
Option Explicit
vom Prinzip her so:

Sub test()
Dim Af As AutoFilter
Dim Ash As Worksheet
Set Ash = ActiveSheet
Set Af = Ash.AutoFilter
Af.Range.SpecialCells(xlCellTypeVisible).Interior.ColorIndex = 6
End Sub

Grüße Boris
Da sind die Zeilen etwas verrutscht:
Boris
Option Explicit
Sub test()
Dim Af As AutoFilter
Dim Ash As Worksheet
Set Ash = ActiveSheet
Set Af = Ash.AutoFilter
Af.Range.SpecialCells(xlCellTypeVisible).Interior.ColorIndex = 6
End Sub

Anzeige
AW: VBA und Range bei AutoFilter
ransi
hallo "Hier muss der realname hin"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim c As Range
For Each c In Target
If c.Rows.Hidden = False Then deine anweisung
Next
End Sub

so werden nur die c in target berücksichtigt die nicht ausgeblendet sind. der franz interessiert dann VBA nicht mehr.
wenns nicht klarer geworden ist, oder ich dich falsch verstanden hab, stell doch mal eine kleine beispieldatei zur verfügung.
ransi
hör auf Boris weil...
ransi
...ich hab um 3 Ecken gedacht.
ransi
AW: hör auf Boris weil...
r3wDy
Nein ransi, deine Idee ist die bessere, weil bei boris bekomm ich alle sichtbaren, und das sind auch die leeren in dem worlsheet bei dir bekomm ich nur die aus meine selection welche sichtbar sind das ist viel besser so
danköö
Anzeige
AW: hör auf Boris weil...
Boris
Option Explicit
Sub test()
Dim Af As AutoFilter
Dim Ash As Worksheet
Set Ash = ActiveSheet
Set Af = Ash.AutoFilter
Intersect(Af.Range.SpecialCells(xlCellTypeVisible), Selection).Interior.ColorIndex = 6
End Sub

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige