Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
888to892
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
888to892
888to892
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Autofilter

Autofilter
28.07.2007 19:56:00
Mathias

Hallo,
folgendes Code führt bei mir zu einem Laufzeitfehler 1004:
Worksheets(DOK).EnableAutoFilter = True
With Worksheets(DOK).Columns("A:T")
.AutoFilter Field:="1", Criteria1:="


12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Autofilter
28.07.2007 20:10:21
Hajo_Zi
Hallo Mathias,
mache es doch so

Sub Mathias()
With Worksheets("Tabelle1")
.Protect UserInterfaceOnly:=True
.EnableAutoFilter = True
.Columns("A:D").AutoFilter Field:="1", Criteria1:=">=15", Operator:=xlAnd
End With
End Sub



AW: Autofilter
28.07.2007 22:05:00
Mathias
Hallo Hajo,
hab ich genauso probiert, läuft aber spätestens im Freigabemodus nicht mehr.
Kann es sein, dass Autofilter + Freigabemodus nicht funktioniert?
Viele Grüße
Mathias

AW: Autofilter
29.07.2007 06:38:03
Hajo_Zi
Hallo Mathias,
es macht sich immer gut, wen man die Aufgabe komplett beschreibt. Von Freigabemodus Stand nichts im ersten Beitrag. Dann htte ich auch nicht geantwortet, über dieses Problem wurde sich mehrmals in der letzten Zeit hier im Forum unterhalten.
Gruß Hajo

Anzeige
ERLEDIGT AW: Autofilter
29.07.2007 12:12:51
Mathias
Hallo Hajo,
ja stimmt, sorry. Vielen Dank für den Hinweis.
Viele Grüße
Mathias

AW: Autofilter
28.07.2007 20:26:00
Daniel
Hi
was genau da schief läuft, kann ich dir auch nicht sagen.
folgende Workarouds wären möglich:
1. das Mako hebt den Schreibschutz vor der Aktion auf und setzt ihn am Ende wieder:

sub Test()
sheets("DOK").unprotect Password:="Dein Password"
sheets("Dok").range("A:T").autofilter....
sheets("DOK").Protect Password:="Dein Password"
end sub


2. beim Aktivieren des Blattschutzes verwendest du folgenden Parameter:


Sheets("DOK").Protect AllowFiltering:=True, UserInterfaceOnly:=True


dann können deine Makros ungehindert auf die Daten zugreifen, während sie für den Anwender geschützt sind.
dieser Paramter lässt sich aber nur setzen, wenn der Blattschutz per Makro aktiviert wird.
von Hand gehts leider nicht.
Gruß, Daniel

Anzeige
AW: Autofilter
28.07.2007 22:02:00
Mathias
Hallo,
am Blattschutz nachträglich per Makro was ändern geht nicht, da die Datei im Freigabemodus laufen soll.
Ich verstehe nicht, warum die aktivierte Option "Autofilter verwenden" beim Blattschutz nicht reicht.
Zumal der Autofilter manuell funktioniert. Sehr seltsam...
Viele Grüße
Mathias

AW: Autofilter
28.07.2007 23:10:15
Hubert
Hi,
du musst das Blatt bei gesetztemAutofilter schützen und dann die Mappe freigeben.
Ein/Ausschalten des Filters geht bei Freigabe nicht.
mfg Hubert

AW: Autofilter
29.07.2007 00:00:17
Mathias
Hallo Hubert,
genau so wie du es beschrieben hast, habe ich es gemacht. Trotzdem kommt der Laufzeitfehler.
Viele Grüße
Mathias

Anzeige
AW: Autofilter
29.07.2007 00:35:04
Hubert
Hi,
nochmal zum Mitmeißeln: Der Staus des Filters läßt sich während der Freigabe nicht
ändern, weder händisch, noch mit VBA.
mfg Hubert

AW: Autofilter
29.07.2007 00:55:00
Mathias
Hallo Hubert,
sorry, jetzt hab ich es begriffen. Vielen Dank für den Hinweis. Also man kann die Filterkriterien nur vor der Freigabe ändern und das war´s dann. Das ist ja echt ungünstig ;-)
Dann brauch ich jetzt wohl ne andere Lösung, um mal eben ein paar Zeilen in einer Datei aus- und einzublenden.
Folgenden Code hab ich mal gebastelt, aber jetzt komme ich nicht mehr weiter. Excel meckert mit Laufzeitfehler 5: "Ungültiger Prozeduraufruf oder ungültiges Argument"

Public Sub ZeilenEinundAusblenden()
Dim Zeile As Range
Dim AlleZeilenAn As Range
Dim AlleZeilenAUS As Range
Dim i As Integer
Test = 3
For i = 1 To 50
Set Zeile = Worksheets(DOK).Rows(i)
If Worksheets(DOK).Cells(i, 20) 


Hat jemand eine Idee, was das falsch ist? Wichtig ist mir vor allem, dass das ein- und ausblenden sehr fix geht. Jede Zeile einzeln aus- und einblenden dauert definitiv zu lange.
Viele Grüße
Mathias

Anzeige
AW: Autofilter
29.07.2007 02:51:00
Nepumuk
Hallo Mathias,
klar, du willst beim ersten mal in der Zeile: Set AlleZeilenAUS = Union(AlleZeilenAUS, Zeile) eine leere Objektvariable mit einem Range - Objekt vereinen. Das geht nicht.
Außerdem wird die Bedingung: If Zeile Is Nothing Then niemals wahr, weil du ja am Anfang der Schleife diese Variable bedingungslos setzt: Set Zeile = Worksheets(DOK).Rows(i)
Gruß
Nepumuk

AW: Autofilter
31.07.2007 20:45:00
Mathias
Hallo Nepumuk,
danke für die Hinweise. Damit wird´s jetzt sicher klappen :-)
Viele Grüße
Mathias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige