Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Gefiltere Dateien kopieren

Betrifft: Gefiltere Dateien kopieren von: Christian
Geschrieben am: 26.10.2014 16:54:20

Hallo liebe Gemeinde,

sitze vor einem Problem, was wahrscheinlich keines ist. Hänge gerade total durch.

Folgendes Szenario.
In dem Tabelleblatt "Projektverfolgung" werde verschiedene Projekte aufgeführt.
Die Projekte lassen sich über eine Userform in die dazugehörigen Sachbearbeiter sortieren.
Nach der Sortierung sollen die Projekte noch grob ausgewertet werden. Dazu drückt man auf den Knopf cmd_Auswertung

Im ersten Schritt sollen einfach nur die gefilterten Projekte aus dem Blatt Projektverfolgung, beginnend in A2, in das Blatt "Projectscreening", beginnend in A3, kopriert werden.
Natürlich nur die gefilterten werte. Folgende Formel verwende ich dafür:

Private Sub cmd_Auswertung_Click()

Workbooks("Prototyp11.xlsm").Sheets("Projectscreening").Select

Application.ScreenUpdating = False 'START

' Projekt-ID Kopieren

Workbooks("Prototyp11.xlsm").Sheets("Projektverfolgung").Select

Range("A2").Select
Range(Selection, Selection.End(xlDown)).SpecialCells(xlCellTypeVisible).Copy

Workbooks("Prototyp11.xlsm").Sheets("Projectscreening").Range("A3").PasteSpecial Paste:=xlPasteValues

Irgendwie geht die Formel aber an dem vorbei was ich haben möchte. Er kopiert nicht die gefilterten Werte.

Ich hoffe sehr ihr könnt mir helfen :(

Gruß,

Christian

  

Betrifft: AW: Gefiltere Dateien kopieren von: Werner
Geschrieben am: 26.10.2014 20:22:51

Hallo Christian,

versuch es mal mit

Worksheets("Projektverfolgung").Range("A2").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Die ganze "Selectiererei" kannst du dir wohl sparen.

Gruß Werner


  

Betrifft: AW: Gefiltere Dateien kopieren von: Christian
Geschrieben am: 26.10.2014 23:15:12

Hallo Werner,

danke für deine schnelle Antwort!
Das .Copy hat bisher ganz gut geklappt, mit dem .paste Befehl komm ich durcheinander, bzw. da brauch ich hilfe.

Wie kann man das sinnvoll lösen?


  

Betrifft: AW: Gefiltere Dateien kopieren von: Werner
Geschrieben am: 26.10.2014 23:46:54

Hallo Christian,

damit sollte es eigentlich funktionieren.

Worksheets("Projektverfolgung").Range("A2").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Worksheets("Projectscreening").Range("A3").PasteSpecial Paste:=xlPasteValues
Übrigens, falls noch nicht bemerkt, ein Sheet heißt bei dir Projektverfolgung (mit k) während das zweite Sheet Projectscreening heißt (mit c).

Gruß Werner


  

Betrifft: AW: Gefiltere Dateien kopieren von: Werner
Geschrieben am: 27.10.2014 00:00:09

Hallo Christian,

den Code mal im Ganzen. In ein allgemeines Modul deines Workbook. Das Makro dann deiner Schaltfläche zuweisen.

Public Sub Filter_kopieren()
Application.ScreenUpdating = False
' Projekt-ID Kopieren
Worksheets("Projektverfolgung").Range("A2").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Worksheets("Projectscreening").Range("A3").PasteSpecial Paste:=xlPasteValues
Application.ScreenUpdating = True
End Sub
Gruß Werner


  

Betrifft: AW: Gefiltere Dateien kopieren von: Christian
Geschrieben am: 27.10.2014 10:05:00

Hallo Werner,

habe das versucht mal anzuwenden und jetzt ist irgendwie alles total verrückt und durcheinander.
Liegt es vielleicht daran das mehrere Filterungen kopiert werden?

' Projekt-ID Kopieren [ Projektverfolgung = A2 ]

Worksheets("Projektverfolgung").Range("A2").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Worksheets("Projectscreening").Range("A3").PasteSpecial Paste:=xlPasteValues

' Projekt-ID Einfügen [ Projectscreening = A3 ]

' Firmenname Kopieren [ Projektverfolgung = C2 ]

Worksheets("Projektverfolgung").Range("C2").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Worksheets("Projectscreening").Range("B3").PasteSpecial Paste:=xlPasteValues

' Firmenname Einfügen [ Projectscreening = B3 ]

' Projektname Kopieren [ Projektverfolgung = N2 ]

Worksheets("Projektverfolgung").Range("N2").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Worksheets("Projectscreening").Range("C3").PasteSpecial Paste:=xlPasteValues

' Projektname Einfügen [ Projectscreening = C3 ]

' Anfrage-Datum Kopieren [ Projektverfolgung = L2 ]

Workbooks("Prototyp11.xlsm").Sheets("Projektverfolgung").Select

Worksheets("Projektverfolgung").Range("L2").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Worksheets("Projectscreening").Range("D3").PasteSpecial Paste:=xlPasteValuesAndNumberFormats

' Anfrage - Datum Einfügen [ Projectscreening = D3 ]

' Angebots - Datum Kopieren [ Projektverfolgung = M2 ]

Worksheets("Projektverfolgung").Range("M2").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Worksheets("Projectscreening").Range("E3").PasteSpecial Paste:=xlPasteValuesAndNumberFormats

' Angebots - Datum Einfügen [ Projectscreening = E3 ]

' Kontakt - Datum kopieren [ Projektverfolgung = G2 ]

Worksheets("Projektverfolgung").Range("G2").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Worksheets("Projectscreening").Range("F3").PasteSpecial Paste:=xlPasteValuesAndNumberFormats

' Kontakt - Datum Einfügen [ Projectscreening = F3 ]

' Auftragswert Kopieren [ Projektverfolgung = E2 ]

Worksheets("Projektverfolgung").Range("E2").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
Worksheets("Projectscreening").Range("H3").PasteSpecial Paste:=xlPasteValues

' Auftragswert Einfügen [ Projectscreening = H3 ]

Wäre super wenn mir jemand helfen könnte :(


  

Betrifft: AW: Gefiltere Dateien kopieren von: Werner
Geschrieben am: 27.10.2014 13:29:35

Hallo Christian,

das sieht jetzt aber völlig anders aus als eingangs beschrieben.

1. Scheint es jetzt so, dass du zunächst das Filterergebnis und zwar nur aus Spalte A von Blatt1 A2 nach Blatt2 A3 kopieren möchtest.

2. Wird dann wohl das Filterergebnis weiter gefildert und dieses Ergebnis und zwar nur aus Spalte B von Blatt1 B2 nach Blatt2 B3 kopiert.
....usw usw usw....

Wenn das so ist, dann ist das etwas völlig anderes als dein geschildert es Problem.
Wenn nicht, dann beschreibt mal genau wie was passieren soll.
Am besten mal eine Beispieldatei hochladen.

Werner


  

Betrifft: AW: Gefiltere Dateien kopieren von: Christian
Geschrieben am: 27.10.2014 14:56:24

Hallo Werner,

sicherlich sinnvoll, Beispieldatei ist anbei.
Die funktioniert leider nicht ganz wie sie soll, aber die Sache an sich ist denk ich gut dargstellt.
Projetverfolgung behindelt alle Daten.
In Projectscreening soll nur ein gewisser teil der Daten. Die benötigen Felder sind grau makiert.

Über eine Userform werden zunächst die Daten aus der Projektverfolgung vorgefiltert.
Beim initialisieren der Datei werden zunächst alle Projekte nach Aktuell gefilter.
Anschließend wird noch ein Mitarbeiter ausgewählt, dadurch werden alle Daten nach dem Mitarbeiter gefiltert. Zum Schluß noch "Gehört zu". Wenn diese beiden Kriterien in der Userform gewählt wurden, wird die Projektverfolgung danach entsprechnend gefiltert. Klickt man auf Auswertung werden die wichtigen Daten in das Projectscreening kopiert.

Ich hoffe sehr ihr könnt mir helfen, bin am verzweifeln.

Gruß,

Christian

https://www.herber.de/bbs/user/93395.xlsm


  

Betrifft: AW: Gefiltere Dateien kopieren von: Christian
Geschrieben am: 27.10.2014 15:03:38

Hallo Werner,

sicherlich sinnvoll, Beispieldatei ist anbei.
Die funktioniert leider nicht ganz wie sie soll, aber die Sache an sich ist denk ich gut dargstellt.
Projetverfolgung behindelt alle Daten.
In Projectscreening soll nur ein gewisser teil der Daten. Die benötigen Felder sind grau makiert.

Über eine Userform werden zunächst die Daten aus der Projektverfolgung vorgefiltert.
Beim initialisieren der Datei werden zunächst alle Projekte nach Aktuell gefilter.
Anschließend wird noch ein Mitarbeiter ausgewählt, dadurch werden alle Daten nach dem Mitarbeiter gefiltert. Zum Schluß noch "Gehört zu". Wenn diese beiden Kriterien in der Userform gewählt wurden, wird die Projektverfolgung danach entsprechnend gefiltert. Klickt man auf Auswertung werden die wichtigen Daten in das Projectscreening kopiert.

Ich hoffe sehr ihr könnt mir helfen, bin am verzweifeln.

Gruß,

Christian

https://www.herber.de/bbs/user/93395.xlsm


  

Betrifft: AW: Gefiltere Dateien kopieren von: Werner
Geschrieben am: 27.10.2014 17:56:21

Hallo Christian,

Bei deiner Datei werden (zumindest bei mir) die ComboBoxen nicht befüllt. Das habe ich mal angepasst.
Dann hätte ich noch ne Frage. Ich habe keinen Code in deiner Datei gefunden der den Datenbestand im Tabellenblatt Projektverfolgung filtert. Wie filterst du denn die Daten, von Hand?
Ich denke mal, dass der Datenbestand nach der Auswahl in den zwei ComboBoxen gefiltert werden soll und anschließend die gefilterten Daten kopiert werden sollen.
Weiterhin stellt sich die Frage, ob der Datenbestand in diesem Zusammenhang auch gleich nach der Spalte "Aktuell" gefiltert werden soll? Dann müsste in deiner Userform noch ne dritte Combobox rein.
Weiter stellt sich die Frage was mit den Daten im Blatt Projectscreening passieren soll. Nach einer ersten Auswertung sind da ja Daten drin. Bei einer neuen Auswertung werden die dann überschrieben. Ich denke die Daten müssten vorher noch gelöscht werden. Oder werden die dann noch benötigt?
Warte auf deine Antworten und werde mich dann noch mal dran setzen.

Gruß Werner


  

Betrifft: AW: Gefiltere Dateien kopieren von: Christian
Geschrieben am: 27.10.2014 19:45:18

Hallo Werner,

ja das ist vollkommen richtig, die beiden comboboxen werden befüllt, das funktioniert auch normalerweise tadellos. Die Projekte werden automatisch auf aktuell gestellt, sobald sich das Dokument öffnet. Irgendwie wollte aber heute gar nichts so wie ich will.

Es gibt noch einen Reset-Knopf in der User-Form der löscht die dann wieder raus.
Der soll die Daten aus der Projektverfolgung ins Projectscreening kopieren.
Also nachdem man nach Mitarbeiter etc gefiltert hat.
Bei mir funktionierte das nicht richtig. Dort hat er immer die eigentlich gefilterten Angaben mitkopiert.

Tausend Dank schonmal, dass du mir hilfst!

Gruß,

Christian


  

Betrifft: AW: Gefiltere Dateien kopieren von: Werner
Geschrieben am: 28.10.2014 17:50:54

Hallo Christian,

schau dir mal die Datei an.
Auf dem Tabellenblatt oben links ist eine Schaltfläche "Start", die deine Userform für die Auswertung öffnet.
Folgendes läuft ab:

ComboBoxen werden gefüllt, nach Auswahl eines Eintrages in den Comboboxen wird

1. Erst nach Aktuell gefiltert (kannst du ggf. entfernen wenn bereits beim Öffnen deiner Datei entsprechend gefiltert wird und dir das so lieber ist)

2. Wird dann weiter gefiltert nach der Auswahl in den Comboboxen

3. Die Einträge im Tabellenblatt "Projectsreening" werden gelöscht

4. Die gefilterten Daten aus dem Tabellenblatt "Projektverfolgung" werden ins Tabellenblatt "Projectscreening" kopiert

5. Im Tabellenblatt "Projektverfolgung" werden die gesetzten Filter zurückgesetzt, der Autofilter bleibt im Tabellenblatt aber gesetzt

https://www.herber.de/bbs/user/93424.xlsm

Gruß Werner


  

Betrifft: AW: Gefiltere Dateien kopieren von: Werner
Geschrieben am: 28.10.2014 17:56:32

Christian,

hab noch was vergessen. Der Filter ist derzeit bis Zeile 1000 gesetzt, ggf. anpassen.

Gruß Werner


  

Betrifft: AW: Gefiltere Dateien kopieren von: Werner
Geschrieben am: 29.10.2014 13:14:21

Hallo Christian,

habe noch einige kleine Änderungen eingebaut.

1. Der Bereich auf den sich der Filter auswirkt passt sich dynamisch an die Daten in Tabelle "Projektverfolgung" bezogen auf die Spalte A an.

2. Wird jetzt noch ein Hinweis ausgegeben wenn beim Filtern mal keine Daten gefunden werden. Wähle
hierzu mal Mitarbeiter 1 und A aus.

https://www.herber.de/bbs/user/93445.xlsm

Gruß Werner


  

Betrifft: AW: Gefiltere Dateien kopieren von: christian
Geschrieben am: 29.10.2014 15:19:19

Hallo Werner,

dein geschriebener Code funktioniert soweit, die alte Problematik bleibt aber die selbe.
Ich könnte mir vorstellen das es was mit dem Umfang zu tun.
In dem Sheet Projektverfolgung gibt es ca 33.000 Einträge, kann das damit zusammen hängen?

Gruß,

Christian


  

Betrifft: AW: Gefiltere Dateien kopieren von: Werner
Geschrieben am: 29.10.2014 17:25:16

Hallo Christian,

funktioniert es denn mit der Datei die ich dir hochgeladen habe so wie du dir das vorstellst? Bei mir ging es jedenfalls. Das Makro hat die Daten in der Projektverfolgung gefiltert und dann nur die gefilterten Daten spaltenweise (nur die Spalten die du wolltest) ins Blatt Projectscreening kopiert.

Gruß Werner


  

Betrifft: AW: Gefiltere Dateien kopieren von: Christian Steiger
Geschrieben am: 29.10.2014 17:50:55

Hallo Werner,

ja in der von dir hochgeladenen Datei funktioniert es tadellos. Da der Aufbau zur Original der gleiche ist, auch was .Range angeht, denke ich, dass der Umfang vielleicht die Sache ändernt.

Wie gesagt, in der Projektverfolgung befinden sich ungefiltert 33.000 Einträge, nach aktuell 1000, nach Mitarbeiter und zugehörig entsprechend weniger.

Siehst du da einen zusammenhang warum es dann nicht funktioniert?


  

Betrifft: AW: Experten benötigt von: Werner
Geschrieben am: 29.10.2014 18:09:05

Hallo Christian,

da hab ich leider keine Idee dazu, bei mir ist dann das Ende der Fahnenstange erreicht. Ich lass es offen, vielleicht schaut ja ein Experte mal drüber.
ggf. mußt du den Beitrag demnächst noch mal neu einstellen. Der jetzige Beitrag wird wohl bald ins Archiv wandern.

Werner


  

Betrifft: AW: Experten benötigt von: Werner
Geschrieben am: 30.10.2014 10:04:25

Hallo Christian,

noch mal zu deinem Problem. Mach doch mal eine Kopie deiner Originaldatei. Solltes du da bereits Makros dirn haben, dann lösche mal alle Makros raus. Anschließend aus meiner Datei die Makros rein und dann versuchen ob es geht.
Sollte es weiterhin nicht funktionieren, dann kommentier im Code doch mal die Zeilen aus, die die gefilterten Daten kopieren und die Zeile, die den Filter wieder zurücksetzt. Dann noch mal laufen lassen. So kannst du dann sehen, ob bereits beim Filtern der Daten Probleme auftreten.
In einem weiteren Schritt könntest du dann ja noch den Datenbestand in der Kopie auf z.B. die Hälfte reduzieren und erneut einen Versuch starten.
So ließe sich die Problematik ein wenig einschränken.

Werner


  

Betrifft: AW: Experten benötigt von: Werner
Geschrieben am: 30.10.2014 10:35:33

Hallo Christian,

habe mal ein wenig gegoogelt. Es scheint da wohl tatsächlich ein Problem/Limitierung auf 32000 Zeilen zu geben. Probiers mal aus und reduziere deinen Datenbestand auf unter 30000.

Wenn dem so ist, dann sehe ich als Lösung, per Maktro alle Zeilen die mit "Aktuell" gekennzeichnet sind aus dem Sheet("Prozessverfolgung") in ein Dummy-Sheet zu übertragen (das kann man ja ausblenden) und die weitere Auswertung dann über das Dummy-Sheet zu machen. Dort wäre der Datenbestand (so wie du schreibst) derzeit ja wohl bei 1000.

Schau dir hierzu mal diesen Beitrag an:
https://www.herber.de/forum/archiv/1144to1148/1144043_VBAMakro_mit_AutoFilter.html#1144043

Gruß Werner


  

Betrifft: AW: Experten benötigt von: Christian
Geschrieben am: 30.10.2014 10:45:07

Hallo Werner,

toll dein engagement! Vielen Dank!

Also reduzieren ist keine option, da die Projektverfolgung fortlaufend ist, und jede Woche ca 20-50 Einträge hinzukommen. Dieses zwischen kopieren klingt nach einer vernünftigen Option, ähnliches ist mir auch mal durch den Kopf gegangen, mir fehlt nur die Kenntniss um das zu realisieren. Könnte man das Anhand der bisherigen Beispiel-Datei erstellen?

Gruß,

Christian


  

Betrifft: AW: Experten benötigt von: Werner
Geschrieben am: 30.10.2014 11:53:32

Hallo Christian,

ich meinte auch nur zum Testen, um definitiv sagen zu können dass es tatsächlich an der Datenmenge liegt. Teste doch bitte mal und melde dich wegen dem Ergebnis.
Wegen einer Lösung werde ich mich mal hinsetzen. Komme aber erst in zwei drei Tagen dazu.

Sollte dieser Beitrag dann schon zu sein dann mach ich einen neuen auf mit dem Betreff
@Christian Filter. Schau einfach ins Forum.

Werner


  

Betrifft: AW: Experten benötigt von: Werner
Geschrieben am: 01.11.2014 17:36:58

Hallo Christian,

schau dir mal die Datei an. Bei mir läuft es. Habe es getestet bis 35.000 Datensätze in Projektverfolgung.

Ablauf bei Start der Auswertung:
1. Userform öffnet, Mitarbeiter und Gehört zu auswählen, Auswertung starten
2. Daten im Tabellenblatt Projectscreening werden gelöscht
3. Daten aus Projektverfolgung werden in Dummy-Blatt kopiert
4. Daten im Dummy-Blatt werden nach "Aktuell" sortiert
5. Alles ohne "Aktuell" wird gelöscht
6. Daten im Dummy-Blatt werden nach Auswahl in den Auswahlboxen gefiltert
7. Gefilterte Daten werden (teilweise) vom Dummy-Blatt in Projectscreening kopiert
8. Autofilter im Dummy-Blatt wird zurückgesetzt
9. Daten im Dummy-Blatt werden gelöscht

https://www.herber.de/bbs/user/93489.xlsm

Gruß Werner

Das Dummy-Blatt kannst du ja ausblenden.


 

Beiträge aus den Excel-Beispielen zum Thema "Gefiltere Dateien kopieren"