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
404to408
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
404to408
404to408
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

mit VBA in Autofilter bewegen

mit VBA in Autofilter bewegen
Manfred
Liebe Excellenten,
ich habe mit Autofilter eine Selektion.
Jetzt möchte ich via VBA in der dritten Spalte
des Auto-Filters den Wert aus der ersten Zeile auslesen.
Mein Problem: Der Wert kann sich in jeder beliebigen
Zelle befinden (weil durch den Autofilter dazwischen
Zeilen ausgeblendet sein können).
Ein absoluter Verweis (z.B. von der Zeile mit den
Spaltenbeschriftungen in die darunterliegende Zelle)
fällt damit aus.
Eine andere Lösung kenne ich aber (noch) nicht?
Ich freue mich auf Eure Rückmeldungen.
Manfred
Excel 2003/ Win XP
.
AW: mit VBA in Autofilter bewegen - mit FIND
Boris
Hi Manfred,
die Find-Methode übergeht ausgeblendete Zellen - daher (die 3. Spalte sei hier C):

Sub finden()
MsgBox Range("C:C").Find("*")
End Sub

Grüße Boris
AW: mit VBA in Autofilter bewegen - mit FIND
Manfred
Hallo Boris,
ich glaube Du überschätzt meine VBA-Kenntnisse ...
Ich schaffe es per VBA in die Spaltenbeschriftung
der 3. Spalte zu kommen (Spalte C).
Jetzt bräuchte ich nur noch eine Funktion die
auf den nächsten Wert in dieser Spalte nach
unten springt und dabei die Leerzellen überspringt.
Bei Deinem Makro kommt die Meldung Spalte 3 raus,
mit der ich nicht so viel anfangen kann.
Hast Du ne Idee?
Manfred
Anzeige
AW: mit VBA in Autofilter bewegen - mit FIND
Bert
Versuchs mal so:

Sub finden()
MsgBox Range("C:C").Find("*", after:=[c1])
End Sub

Bert
AW: mit VBA in Autofilter bewegen - mit FIND
Manfred
Hallo Boris und Bert,
hm, ich hab's immer noch nicht.
Konkret: Ich bekomme bei Eurem Makro
eine Ausgabe "Spalte 3".
Aber - Die Situation: Ich habe im Makro
den Autofilter eingeschalter und in der
Spalte 3 einen Wert selektiert.
Jetzt ist die Zelle mit der Spaltenüberschrift
aktiv (in Spalte 3).
Ich brauche (nur noch) den Sprung über die
ausgeblendeten Zeilen hinweg in die nächste
Zelle mit einem Wert nach unten.
Von da an komme ich wieder weiter.
Mit einer Ausgabe kann ich nichts anfangen....
Habt Ihr noch Fragen dazu?
Manfred
Anzeige
AW: mit VBA in Autofilter bewegen - mit FIND
Bert
In welcher Zeile beginnt denn deine Datenbank?
Bert
AW: mit VBA in Autofilter bewegen - mit FIND
Manfred
Hallo Bert,
die Spaltenüberschriften sind in Zeile 9,
die Daten beginnen in Spalte 10.
Beispiel:
Zeile 9..........Spalte1..........Spalte2..........Spalte3........Spalten
Ziele 18..........10...................12..................17.................20
Ziele 27..........09...................29..................08.................11
Ziele 31..........07...................31..................05.................12
Ich schaffe es per VBA den Autofilter einzuschalten, zu selektieren
und stehe dann in der Spaltenbeschriftung von C (hier "Spalte3".
Jetzt soll der erste Wert darunter angesprungen werden (hier Wert 17),
allerdings muss dies über die ausgeblendeten Zellen (hier Zeilen 10bis17)
erfolgen.
Eine Idee?
Manfred
Anzeige
AW: mit VBA in Autofilter bewegen - mit FIND
Boris
Hi Manfred,
...das hat dir Bert doch schon in der ersten Antwort geschrieben...

Sub finden()
MsgBox "...lautet:" & Chr(10) & Chr(10) & _
Range("C:C").Find("*", after:=[c9]), , "Der erste gefilterte Wert aus Spalte C..."
End Sub

Grüße Boris
Ein letzter Versuch
Manfred
Hallo Bert, Hallo Boris,
mein selbstgebastelter VBA-Code.
Da könnt Ihr wachrschienlich auch sehen, dass
da noch Lernbedarf dahinter steckt.

Sub EAN_erste_Zeile_übernehmen()
blatt_Nielsen_Sortiment = ActiveSheet.Cells(6, 1).Value
blatt_Wasser_Sortiment = ActiveSheet.Cells(7, 1).Value
'ohne VBA TEXT - HIER WIRD DER AUTOFILTER EINGESCHALTET UND SELEKTIERT
Range ("C10").Select         'SPALTENÜBERSCHRIFT
Range("C11").Select         'HIER SOLLTE DIE ZELLE "ANGESPRUNGEN" WERDEN  -------HILFE-------
Selection.Copy              'KOPIEREN
Sheets(blatt_Wasser_Sortiment).Select   'ANDERES TABELLENBLATT
Range("C65536").Select      'ANS UNTERE ENDE DES TABELLANBLATTES
Selection.End(xlUp).Select  'NACH OBEN AUF DEN LETZTEN GEFÜLLTE ZELLE
ActiveCell.Offset(1, 0).Select   'EINE ZELLE NACH UNTEN
ActiveSheet.Paste                'EINFÜGEN
Sheets(blatt_Nielsen_Sortiment).Select    'AUF ANDERES TABELLENBLATT
Range("C7").Select               'AUF ZELLE B7 (ENDE)
End Sub

Ich weis leider immer noch nicht, was ich da mit einem
Ausgabenfenster anfangen soll.
Ich will den Inhalt der Zelle nicht angezeigt bekommen, sondern
nur kopiert und ins andere Tabellenblatt eingefügt ....
Wird es jetzt klarer?
Manfred
Anzeige
AW: Ein letzter Versuch
Boris
Hi Manfred,
...ein schwieriger Patient...;-)
Du solltest nicht "VBA-gut" angeben, das scheint nicht ganz zu passen.
Wenn deine Überschrift also in C10 steht, dann selektierst du den ersten gefilterten Wert mit:

Sub finden()
Range("C:C").Find("*", after:=[c10]).Select
End Sub

Dann kannst du ihn kopieren und überhaupt alles damit anstellen, was du willst.
Allerdings empfehle ich dir mal für einen besseren Stil zum Thema "Selektieren und Aktivieren" dieses Kapitel:
http://xlfaq.herber.de/xlbasics/main_sel.htm
Grüße Boris
Anzeige
AW: mit VBA in Autofilter bewegen - mit FIND
Bert
Siehe Antwort Boris, du musst ab der Zelle mit der Überschrift abwärts suchen
Bert

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige