Microsoft Excel

Herbers Excel/VBA-Archiv

Skript funktioniert nur auf einer seite?!?!

Betrifft: Skript funktioniert nur auf einer seite?!?! von: CARL
Geschrieben am: 04.08.2008 14:31:23

Ich schon wieder... ich hoffe ich werde euch nicht lästig :)!!!

ich habe ein Makro erstellt das auf einer sheet wunderbar funktioniert, aber auf der nächsten überhapt nicht!

Verison 1:

 Private Sub captivity_field_Click()
On Error Resume Next
Sheets("daten").AutoFilter.Range.AutoFilter Field:=19, Criteria1:=captiveties_2

End Sub


version 2:

Private Sub captivity_1_Click()
On Error Resume Next
Sheets("daten").AutoFilter.Range.AutoFilter Field:=19, Criteria1:=capt

End Sub



In den Feldern "captivities_2" und "capt" habe ich die Gültigkeit aus "C;Y;S " beschränkt...

wie gesagt auf der ersten Seite läuft alles einwandfrei!

bei der zweiten heißt es die Variabel "capt" sei nicht definiert...

Ich habe es aber auch mit "C13" probiert... geht auch nicht!

Kann mir da jemand weiterhelfen?

Danke schon mal...Carl

  

Betrifft: AW: Skript funktioniert nur auf einer seite?!?! von: Ramses
Geschrieben am: 04.08.2008 14:35:23

Hallo

"...das auf einer sheet wunderbar funktioniert, aber auf der nächsten überhapt nicht!..."

Was erwartest du, wenn du in beiden Makros den gleichen Sheetnamen verwendest ???

Sheets("daten").AutoFilter...

Gruss Rainer


  

Betrifft: AW: Skript funktioniert nur auf einer seite?!?! von: CARL
Geschrieben am: 04.08.2008 14:45:14

Hi Rainer,

sry das kam wohl nicht ganz klar rüber...

also ich hab diverse Sheets in der Datei. Auf zwei dieser Sheets sind Diagramme, die sich durch das Setzen der Filter in der "Daten" -Sheet verändern.

Ich wollte von beiden Diagrammen aus, den Filter unabhängig voneinander, setzen können.
Also eigentlich soll die gleiche Funktion auf zwei Sheets ausgeführt werden.

Warum sollte das nicht gehen?


  

Betrifft: AW: Skript funktioniert nur auf einer seite?!?! von: Ramses
Geschrieben am: 04.08.2008 17:41:34

Hallo

Wahrscheinlich ist das erste Makro Zufall.
Ich habe gerade gesehen, dass du ja nach Text suchst !!!
und nicht mit Variablen arbeitest.
Setze mal deine Suchbegriffe in Anführungszeichen bzw. pass den Suchbegriff in Makro eins an.
Zum testen immer das "On Error Resume Next" löschen.
Das erleichtert die Fehlerfindung, und wenn es korrekt läuft ist es nicht nötig ;-)


Private Sub captivity_field_Click()
 On Error Resume Next
 Sheets("daten").AutoFilter.Range.AutoFilter Field:=19, Criteria1:="captiveties_2"
 End Sub




version 2:

Private Sub captivity_1_Click()
 On Error Resume Next
 Sheets("daten").AutoFilter.Range.AutoFilter Field:=19, Criteria1:="capt"
 End Sub



Gruss Rainer


  

Betrifft: AW: Skript funktioniert nur auf einer seite?!?! von: CARL
Geschrieben am: 04.08.2008 18:06:25

Ahhhh!

OK! er hat tatsächlich nach dem Text gesucht! ich wollte das nach dem wert in der Zelle mit dem Namen "capt" gesucht wird!

Nun hab ich es aber über einen Umweg mit einer List hinbekommen..

also danke!

gruß
Carl!


  

Betrifft: AW: Skript funktioniert nur auf einer seite?!?! von: Ramses
Geschrieben am: 04.08.2008 20:28:18

Hallo

da brauchst du keine List

Sheets("daten").AutoFilter.Range.AutoFilter Field:=19, Criteria1:=Range("captiveties_2")

Gruss Rainer