Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


SpezialFilter automatisieren...
#1
Hallo Mitleser und Mitstreiter, ich versuche gerade einen SpezialFilter zu automatisieren... ... ff. code habe ich dazu aufgezeichnet und vorher BereichsNamen vergeben... ... leider "zerballert" mir irgendetwas meinen Bereich Suchkriterien (Formel für den BereichsNamen..: =$A$1:INDEX($A$1:$A$10;VERGLEICH("";$A$1:$A$10;-1)) sobald ich in dem Bereich etwas lösche... ... kann mir jemand sagen a) warum und b) wie ich das ändern kann...?

Sub sfm()
'
' sfm Makro
'
' Tastenkombination: Strg+q
'
Range("Listenbereich").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"Suchkriterien"), CopyToRange:=Range("F1:G1"), Unique:=False
End Sub
cu jörg eine rückmeldung wäre ganz reizend XL2003 bis XL2013
to top
#2
Hallo Jörg,

Du schreibst nicht, was "zerballern" ist - Excel kennt diese Funktion nicht :-)
Ich nehme an, dass das Problem nicht im VBA -Code liegt, sondern wie Du auf dem Excel-Blatt löschst. Wenn Du z.B eine Zeile oder Zelle löschst, dann werden die Formeln angepasst. Aus dem Dilemma kommst Du wohl nur unter Verwendung der Funktion INDIREKT heraus. Ansonsten macht Dich Excel in diesem Fall nicht glücklich Confused
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
to top
#3
Hallo André, auch INDIREKT() wird nach Löschen eines Kriteriums hart umgeschrieben... ... gibt's da ne Lösung..?
cu jörg eine rückmeldung wäre ganz reizend XL2003 bis XL2013
to top
#4
Hallo Jorg,

wenn Du statt $A$10 INDIREKT("A10") schreibst, dann ändert sich daran doch nichts...
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
to top
#5
Hallo André, nix zu machen... grrrrrrrrrrrrrrrrrrrrrrrrrrr...
cu jörg eine rückmeldung wäre ganz reizend XL2003 bis XL2013
to top
#6
Hallo Jörg,

wieso nicht? Ich hab hier mal eine Zeile gelöscht und dann die Einträge korrigiert, damit das A wieder in zeile 10 steht. Die Formel in C1 bringt immer noch das ergebnis wie zuvor, nur die Formel aus der Fragestellung in B1 hat sich angepasst.
Arbeitsblatt mit dem Namen 'Tabelle1'
 ABC
11#NV1
22  
33  
44  
55  
66  
77  
88  
99  
10A  

ZelleFormel
B1=$A$1:INDEX($A$1:$A$9;VERGLEICH("";$A$1:$A$9;-1))
C1=$A$1:INDEX(INDIREKT("$A$1:$A$10");VERGLEICH("";INDIREKT("$A$1:$A$10");-1))
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
to top
#7
Hallo André ich lösche keine Zeilen sondern mit Entf den Inhalt... und im BereichsNamen Suchkriterien wird der vormals definierte Bereich =$A$1:INDEX($A$1:$A$10;VERGLEICH("";$A$1:$A$10;-1)) oder auch mit INDIREKT() hart überschrieben...?!?!?!
cu jörg eine rückmeldung wäre ganz reizend XL2003 bis XL2013
to top
#8
Hallo @all, andere Frage: Wie kann ich denn per VBA den befüllten Bereich zwischen A1 und A10 ermitteln und in meinen (stümperhaften) Code einbasteln..? Wie schon beschrieben wird der per Formel hart überschrieben...?
cu jörg eine rückmeldung wäre ganz reizend XL2003 bis XL2013
to top
#9
Hallo, ich habe probiert und gekämpft (jeder weiß, dass VBA für mich kein Zuckerschlecken ist..) Ergebnis..:

Sub test()
'
' test Makro
Dim Loletzte As Long
Loletzte = IIf(IsEmpty(Range("A10")), Range("A10"). _
End(xlUp).Row, 10)
Cells(Loletzte, 1).Select

Range("A64").Select
Range("Listenbereich").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"A1:A" & Loletzte), CopyToRange:=Range("F1:G1"), Unique:=False
End Sub


funzt... ;-) geht aber bestimmt eleganter... ... ich frage mich aber immernoch, warum ich dort kein BereichsNamen mit Formel verwenden kann...
cu jörg eine rückmeldung wäre ganz reizend XL2003 bis XL2013
to top
#10
Hallo Jörg,

wenn Du nur mit ENTF löschst, dann passiert doch gar nichts mit der Formel ...
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Excel Dateien mit VBA automatisieren Paklu001 5 130 05.11.2016, 14:34
Letzter Beitrag: schauan
  Frage bezüglich Spezialfilter bzw. auslöschen von bestimmten Kombinationen jonny2807 1 96 26.09.2016, 20:41
Letzter Beitrag: shift-del
  Tipparbeit automatisieren, best Practice, Datenbankverwaltung JohnCamus 1 233 09.06.2016, 18:29
Letzter Beitrag: WillWissen
  Formellösung für Spezialfilter ohne Duplikate in Gruppen knudi 18 1.388 15.05.2016, 10:38
Letzter Beitrag: knudi
  VBA SpezialFilter "hidden" Zeilen Jockel 8 683 04.04.2016, 21:19
Letzter Beitrag: Jockel
  KGRÖSSTE automatisieren Lars 3 429 18.01.2016, 08:49
Letzter Beitrag: BoskoBiati
  Das Zählen von Einträgen automatisieren mcdutch 12 1.104 26.11.2015, 14:35
Letzter Beitrag: mcdutch
  4 Dateien / Verknüpfen oder Automatisieren Beltason 8 1.501 08.01.2015, 19:23
Letzter Beitrag: Beltason
  Datumskonvertierung Automatisieren toteitote 2 679 16.09.2014, 21:14
Letzter Beitrag: toteitote
  SpezialFilter --> Ausgabe in Tabelle (Strg+T) Jockel 21 4.149 05.08.2014, 12:16
Letzter Beitrag: Jockel

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste