Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
768to772
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
768to772
768to772
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schleifen und Filterproblem

Schleifen und Filterproblem
28.05.2006 23:51:03
Martin
Hallo Zusammen
Ich versuche mit Autofilter ausgewählte Artikelnummer vom Register "excel" ins Register "Daten" zu kopieren. Im Anschluss daran wird eine Formatierung ausgeführt.
Ziel ist es nur die sichtbaren gefilterten Daten hinüber zu kopieren. Dabei soll die Schleife nur solange laufen wie es Anzahl gefilterte Daten im Register "excel" hat.
Problem:
Es nimmt mir auch die Nichtsichtbaren und die Schleife stoppt nicht.
Ich habe die Datei hochgeladen.
https://www.herber.de/bbs/user/33959.xls
Wer kann mir helfen?
Danke für eure Unterstützung.
Gruss
Martin

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleifen und Filterproblem
29.05.2006 11:54:10
Peter
Hallo Martin,
gefilterte Zeilen habe die Höhe 0, deshalb kann man es so machen:
'

Sub WoStehtWas()
Dim lZeile As Integer
For lZeile = 2 To Range("B65536").End(xlUp).Row  ' anpassen an deine Anzahl
If Rows(lZeile).Height > 0 Then
MsgBox "in Zeile " & lZeile & " steht " & Cells(lZeile, 2)
End If
Next lZeile
End Sub

So etwas muss du in deinen aufgezeichneten (etwas chaotischen) Code einfügen.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
AW: Schleifen und Filterproblem
29.05.2006 20:24:57
Martin
Hallo Peter
Danke für deine Antwort, die mir aber leider nicht weitergeholfen hat.
Es wurden nicht gefilterte Daten markiert....vielleicht hatte ich es auch an der falschen Stelle eingefügt. Kannst du mir einen Vorschlag machen an welcher Position ich es erfolgreich einfügen soll?
Ziel bleibt noch immer:
Nachdem der Filter gesetzt wird sollten nur die Artikelnr. und die Bezeichnung derjenigen Positionen kopiert werden die gefiltert wurden. Im Anschluss daran folgt die Formatierung im Register Daten. Nach dem Durchlauf soll die nächste Position im Register Excel markiert und kopiert werden. Dieser Vorgang soll so oft durchlaufen bis alle gefilterten Positionen in "Daten" kopiert und verarbeitet worden sind.
Danke für deine Unterstützung.
Gruss
Martin
Anzeige
AW: Schleifen und Filterproblem
29.05.2006 23:07:50
daniel
Hallo,
dein Code ist wirklich etwas chaotisch.
folgende Probleme sind mir mal so spontan aufgefallen:
1. du schaltets mit der Zeile Selection.AutoFilter Field:=1, Criteria1:="" den Autofilter aus.
2. deine Variablen vorallem in der Schleife gehen völlig durcheinander.
das fängt damit an, daß die Schleifenzählervariablen innerhalb der Schleife deklariert und auf 0 gesetzt werden. Außderdem ist die Variable die du hochzählst eine ganz andere als die du in der DO-Schleife abfragst, da hast du natürlich eine Endlos-Schleife.
3. würde ich den Bildschirm erst ausschalten, wenn ich sicher bin, daß das Makro funzt. In der Entwicklungsphase ist es besser, wenn man sehen kann, was passiert.
Ich empfehle mal, folgende Links durchzuarbeiten:
http://www.online-excel.de/excel/grusel_vba.php?f=6
http://vb-anton.de/index.php?action=artikel&cat=353481&id=26&artlang=de
und auch hier findet sich einiges interessantes bei den xlbasics:
https://www.herber.de/forum/index.htm
Gruß, Daniel Eisert
Anzeige
AW: Filterproblem
30.05.2006 22:08:32
Martin
Hallo Daniel
Deine Links konnten mir bezüglich der Schleife weiterhelfen, Danke.
Es sieht im Code so chaotisch aus, weil ich es hauptsächlich aufgezeichnet habe. Ich werde mich der "Entrümpelung" gem. deinen Links im "Finish" annehmen.
Da bleibt nur noch die Situation mit den gefilterten Daten. Bei der Z34 im Code "Stüli_in_Daten" solle er jeweils bei den gefilterten Daten um 1 Zeile runtergehen.
Das tut er zwar aber nicht innerhalb im gefilterten Bereich.
Peter hat mir eine Möglichkeit aufgezeigt die bei mir nicht funtkionierte....auch vielleicht weil ich es falsch umgesetzt hatte.
Kannst du mir hier auch einen Anstoss geben? ....einen kräftigen aber ;-)
Habe die überarbeitete Datei nochmals raufgeladen.
Gruss
Martin
https://www.herber.de/bbs/user/34021.xls
Anzeige
AW: Filterproblem
31.05.2006 00:10:17
Daniel
Hallo,
dein Problem ist, daß du mit .offset(1,0) um eine Zeile nach unten springst, unabhängig davon, ob die Zeile sichtbar ist oder nicht.
.offset(1,0) ist da doch ein bisschen anders als die Cursor-Down-Taste zu drücken.
Es ist jetzt auch nicht ganz leicht, in deinen Code was einzufügen, da ich mit der ganzen Offset-rumspringerei nicht so ganz weiß, was ich da durcheinander bringen würde.
Der einfachste Weg bei deinem Kenntnisstand zum Erfolg zu kommen ist,
- ein neues Sheet anzulegen (z.B. Kopie) (nicht im Makro, sondern "normal")
- NACH dem Filtern kopierst du den kompletten Inhalt von Sheet "Excel" nach Sheet "Kopie" Hier verwendest du den Befehl:
sheets("excel").cells.copy destination:=sheets("Kopie").cells
Beim Kopieren werden nur die sichtbaren Zeilen kopiert, die unsichtbaren nicht.
- jetzt führtst du die ganze Aktion im Sheet "Kopie" aus.
Da jetzt tatsächlich nur noch die gefilterten Daten vorhanden sind, ohne unsichtbare Zwischenzeilen, sollte das relativ problemlos funktionieren.
Danach kannst du den Inhalt von Kopie wieder leeren.
Gruß, Daniel
noch nur so als Hinweis, in der Teilergebnisformel, die du per Makro einträgst, gehst du fix auf den Zellbereich A2:A17, du hast aber wesentlich mehr Daten.
Wenn du mal ein x'le unterhalb der Zeile 17 einträgst, wird dieses so nicht mitgezählt.
Aber vielleicht fällt dir ja ein geschicktere Weg ein, die Zeilenzahl zu ermitteln, wenn du die Daten kopiert hast.
Anzeige
AW: Filterproblem
01.06.2006 19:19:17
Martin
Hallo Daniel
Ich danke dir für deine Unterstützung. Ich werde es versuchen umzusetzen und werde dir danach eine Rückmeldung geben.
Bis dannn ...Danke!
Gruss
Martin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige