Autor
|
Thema: Tabellen zusammenkopieren (6935 mal gelesen)
|
matthespro Mitglied Elektrotechnikermeister, Selbständig
Beiträge: 531 Registriert: 22.09.2006 Eplan 5.70.3 Prof. Eplan 21 4.3 Prof. mit GM Tool 3.214 Eplan P8 Prof. Windows XP Prof. SP3 Office 2003 SP3
|
erstellt am: 17. Okt. 2006 17:35 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen wenn ich die Beiträge hier so lese, bin ich vom Exceluser weit entfernt, trotz allem hoffe ich das Ihr mir helfen könnt. Ich habe mehrer Exceldateien und Tabellen und die möchte ich zu einer Datenbank bzw. Exceltabelle zusammenfügen. Allerdings habe ich keine Lust diese Monsterdatenbank händisch nach doppelten Texten zu durchsuchen. Ich brauche dies für einen Übersetzungsdatenbank, die nur zwei Spalten hat. Bezug wäre die Spalte A. Vorab schon mal vielen Dank für Eure Hilfe Gruß Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 17. Okt. 2006 17:53 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
Hallo Matthias, ich fürchte, um ein bißchen Fleißarbeit kommst Du leider nicht herum:-( Falls hier nicht jemand was in VBA anzubieten hat, wirst Du Dir zumindest alle Werte mal in ein Tabellenblatt ziehen müssen - händisch. Dann hilft vielleicht (Daten) "Sortieren" ein wenig. Wie sehen denn Deine "doppelten Texte" aus? Einzelne Zellwerte - oder ein Stück Text als Bestandteil eines (längeren) Textes? Frederik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 17. Okt. 2006 20:06 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
N'abend zusammen, dann doch noch heute abend mind. folgende 2 Möglichkeiten gibt es: 1. Daten löschen: Daten -> Filter -> Spezialfilter -> "Keine Duplikate" entspricht Code: ActiveSheet.Range("A:A").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("B1"), Unique:=True
Wichtig: Daten müssen eine Überschrift enthalten.2. Doppelte einfach nur markieren: A2 markieren: Format -> Bedingte Formatierung -> "Formel ist" =ZÄHLENWENN(A$1:A1;A2)>=1 Format z.B Muster gelb wählen diese Formatierung runterkopieren mit dem Format-Übertragen-Pinsel Schönen Feierabend! Nicole ------------------ Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... ---------------- Erfinnder-Gilden-Lehrling Stufe: 5 [Diese Nachricht wurde von runkelruebe am 14. Nov. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthespro Mitglied Elektrotechnikermeister, Selbständig
Beiträge: 531 Registriert: 22.09.2006 Eplan 5.70.3 Prof. Eplan 21 4.3 Prof. mit GM Tool 3.214 Eplan P8 Prof. Windows XP Prof. SP3 Office 2003 SP3
|
erstellt am: 18. Okt. 2006 09:16 <-- editieren / zitieren --> Unities abgeben:
Moin zusammen erst mal vielen Dank für die Infos. Wenn ich die Böhmischen dörfer bereist habe, trete ich der Erfinder Gilde bei, vielleicht verstehe ich dann mehr. Wo gebe ich den Code ein??? Ich habe mal ein Muster in Excel2000 gemacht und es als Unicode.TXT gespeichert und angehängt. Damit Ihr mal ein Bild davon habt wie die Tabelle aussieht. Die % Zeichen sind Platzhalter für Zahlen und Sonderzeichen. Gruß Matthes Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 18. Okt. 2006 09:32 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
Ok, heute langsam, ich wollte FA machen gestern Du gibst eigentlich gar keine code ein der war nur zur Vervollständigung Du ziehst Dir erstmal alle Daten in Deine neue Tabelle, alles in Spalte A untereinander weg. Markierst die Spalte A. Dann gehst Du über Menü: Daten -> Filter -> Spezialfilter -> "An andere Stelle kopieren -> Spalte B markieren -> Häkchen bei "keine Duplikate" -> OK. Wie sieht das Ergebnis aus? Möglichkeit 2 löscht nichts, markiert nur die Duplikate: Du wählst Zelle A2 Menü: Format -> Bedingte Formatierung -> "Formel ist" =ZÄHLENWENN(A$1:A1;A2)>=1 bei Format z.B Muster gelb wählen Formatierung runterkopieren Wie sieht das Ergebnis aus? ------------------ Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... ---------------- Erfinnder-Gilden-Lehrling Stufe: 5
[Diese Nachricht wurde von runkelruebe am 14. Nov. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthespro Mitglied Elektrotechnikermeister, Selbständig
Beiträge: 531 Registriert: 22.09.2006 Eplan 5.70.3 Prof. Eplan 21 4.3 Prof. mit GM Tool 3.214 Eplan P8 Prof. Windows XP Prof. SP3 Office 2003 SP3
|
erstellt am: 18. Okt. 2006 10:27 <-- editieren / zitieren --> Unities abgeben:
Morgen Nicole Wie du weist sitzt der Fehler meist 20cm davor Hast du dir mal die Tabelle angeschaut? Eigentlich habe ich 2 Spalten, was mich dazu verleitet hat Daten -> Filter -> Spezialfilter -> "An andere Stelle kopieren -> Spalte C markieren -> Häkchen bei "keine Duplikate" -> OK. Ergebnis: in der Spalte B war Ok in SPalte A aber nicht. Zweiter Versuch Daten -> Filter -> Spezialfilter -> "An andere Stelle kopieren -> Spalte B markieren -> Häkchen bei "keine Duplikate" -> OK. Ergebnis: Fehler oder ungültiger Name im Zielbereich Gruß Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 18. Okt. 2006 10:46 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
Hallo Matthias, Zitat: Zweiter Versuch Daten -> Filter -> Spezialfilter -> "An andere Stelle kopieren -> Spalte B markieren -> Häkchen bei "keine Duplikate" -> OK. Ergebnis: Fehler oder ungültiger Name im Zielbereich
Excel möchte hier bei "Kriterienbereich" auch einen Wert haben. Schau Dir mal den Anhang rein. Klappt es mit ein bißchen rumprobieren? Gruß, Frederik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 18. Okt. 2006 11:01 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
So, zunächst mal ein, zwei Stolpersteine aus dem Weg räumen: 1. Die zu filternden Daten müssen eine Überschrift enthalten z.B. "Überschrift1" 2. Um auf ein anderes Blatt zu filtern mußt Du von dem anderen Blatt aus starten (in den Menüeintrag Filter gehen). 3. Zitat: Ergebnis: in der Spalte B war Ok in SPalte A aber nicht.
Das Ergebnis in Spalte C sollte OK gewesen sein, in Spalte A sind ja immer noch die Originaldaten, Du erstellst nur eine Kopie, wenn Du direkt die Doppelten ausblenden willst, muß Du "an gleicher Stelle filtern" sagen. Achtung, hier wird nicht gelöscht, sondern nur ausgeblendet. [edit:] nach nochmaligem Lesen habe ich das wohl falsch verstanden... Du willst beide Spalten gleichzeitig filtern: Beide Spalten in der Quelle markieren und zwei Spalten im Zielbereich markieren. Es müssen jetzt beide Spalten gleich viele Einträge haben, da die ja abhängig voneinander sind. [/edit] Ich habe mal eine mappe angehängt, mit den verschiedenen Ergebnissen, die ich mir so vorstelle... Schau mal rein und berichte. Gruß, Nicole ------------------ Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... ---------------- Erfinnder-Gilden-Lehrling Stufe: 5 [Diese Nachricht wurde von runkelruebe am 18. Okt. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthespro Mitglied Elektrotechnikermeister, Selbständig
Beiträge: 531 Registriert: 22.09.2006 Eplan 5.70.3 Prof. Eplan 21 4.3 Prof. mit GM Tool 3.214 Eplan P8 Prof. Windows XP Prof. SP3 Office 2003 SP3
|
erstellt am: 19. Okt. 2006 10:01 <-- editieren / zitieren --> Unities abgeben:
Morgen Nicole Morgen Frederic Ich habe mich dann für das Kopiern in ein anderes Tabellenblatt entschieden. Allerdings funtzt das bei mir nicht: Es können nur gefilterte Daten in das Aktive Blatt kopiert werden! Ich hab Euch das Ergebnis mal im Doc angehängt. Kann das vielleicht auch mit Excel2000 SP3 zu tun haben, oder sitzt der Fehler wieder 20cm dvor?? Gruß aus Spanien Matthias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 19. Okt. 2006 10:13 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
Puuh... Vermutungen: Ist das aktive Blatt vielleicht schon gefiltert (und läßt nix anderes zu)? Hat es was mit der Gültigkeit (Menü Daten->Gültigkeit) zu tun? Ansonsten planlos. Nicole? Frederik:-( Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthespro Mitglied Elektrotechnikermeister, Selbständig
Beiträge: 531 Registriert: 22.09.2006 Eplan 5.70.3 Prof. Eplan 21 4.3 Prof. mit GM Tool 3.214 Eplan P8 Prof. Windows XP Prof. SP3 Office 2003 SP3
|
erstellt am: 19. Okt. 2006 10:26 <-- editieren / zitieren --> Unities abgeben:
|
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 19. Okt. 2006 10:49 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
|
matthespro Mitglied Elektrotechnikermeister, Selbständig
Beiträge: 531 Registriert: 22.09.2006 Eplan 5.70.3 Prof. Eplan 21 4.3 Prof. mit GM Tool 3.214 Eplan P8 Prof. Windows XP Prof. SP3 Office 2003 SP3
|
erstellt am: 19. Okt. 2006 12:25 <-- editieren / zitieren --> Unities abgeben:
|
matthespro Mitglied Elektrotechnikermeister, Selbständig
Beiträge: 531 Registriert: 22.09.2006 Eplan 5.70.3 Prof. Eplan 21 4.3 Prof. mit GM Tool 3.214 Eplan P8 Prof. Windows XP Prof. SP3 Office 2003 SP3
|
erstellt am: 26. Okt. 2006 17:03 <-- editieren / zitieren --> Unities abgeben:
Nabänd so junge Frau wie angedroht es geht weiter hier im Text Ich hab festgestellt das es besser ist, die Doppelten farbig zu markieren, da es doppelte gibt die in der B Spalte keinen Eintrag haben!! Da ist der Filter "an einen anderen Ort kopieren" zu ungenau. Frage: kannst du mir das mal mit der Formel etwas mehr erläutern? =ZÄHLENWENN(A$1:A8;A9)>=1 ich krieg hier die Meldung zu wenig Argumente oder er markiert nicht wirklich das was sich möchte Gruß aus Spanien Matthias
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 26. Okt. 2006 20:17 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
gebe mal in C3 ein: Code: =WENN(ZÄHLENWENN(A$3:A3;A3)>1;"Duplikat";"")
und kopiere das nach unten, wann immer sich im Bereich A$3:Axx dasselbe wie in Axx befindet, wird gezählt, - ist das Ergebnis grösser als 1 muss es doppelt vorkommen ;-)Ach, die Formel für die bedingte Formatierung =ZÄHLENWENN(A$3:A6;A6)>1 für Zelle A6 - Rest mit Kopieren - einfügen spezial / formate übertragen [Diese Nachricht wurde von Thomas Harmening am 26. Okt. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
matthespro Mitglied Elektrotechnikermeister, Selbständig
Beiträge: 531 Registriert: 22.09.2006 Eplan 5.70.3 Prof. Eplan 21 4.3 Prof. mit GM Tool 3.214 Eplan P8 Prof. Windows XP Prof. SP3 Office 2003 SP3
|
erstellt am: 07. Nov. 2006 11:13 <-- editieren / zitieren --> Unities abgeben:
|
cossi Mitglied
Beiträge: 33 Registriert: 14.12.2006
|
erstellt am: 14. Dez. 2006 09:57 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
hallo zusammen ich hab hier ein ähnliches problem und zwar soll mir meine mit dem spezialfilter erstellte liste in eine andere tabelle kopiert werden. allerdings erlaubt excel nur eine kopie in der selben (sprich aktiven) tabelle. jetzt hab ich hier den spezialfilterbefehl als vba code gesehen und es sollte doch möglich sein über diesen code die liste in eine andere tabelle zu kopieren. wie muss ich den code abändern um das zu bewerkstelligen? hat da jemand ne ahnung? meine vba kenntnisse sind da net so herausragend. so sah der code aus:
Code: ActiveSheet.Range("A:A").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("B1"), Unique:=True
bin für jede hilfe dankbar [Diese Nachricht wurde von cossi am 14. Dez. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 14. Dez. 2006 10:01 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
Zitat: allerdings erlaubt excel nur eine kopie in der selben (sprich aktiven) tabelle.
Zitat: 2. Um auf ein anderes Blatt zu filtern mußt Du von dem anderen Blatt aus starten (in den Menüeintrag Filter gehen).
bist Du sicher, daß das nicht so geht? ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cossi Mitglied
Beiträge: 33 Registriert: 14.12.2006
|
erstellt am: 14. Dez. 2006 10:10 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
ahhh jetzt ja. ok genauer lesen bringt manchmal doch etwas gibt es denn ne möglichkeit das ganze etwas dynamischer zu machen? sprich wenn ein neuer eintrag in meine hauptliste kommt soll dieser eintrag auch in der schon erstellten gefilterten liste in der anderen tabelle übernommen werden. wäre cool wenn mir da jemand weiterhelfen könnte.
[Diese Nachricht wurde von cossi am 14. Dez. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 14. Dez. 2006 10:20 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
Mach Dir ein Knöppel: Code: Public Sub FilterAktualisieren() Sheets(1).Range("B:B").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Tabelle2.Range("B2"), Unique:=True End Sub
------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 14. Dez. 2006 10:26 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
Hallo cossi, unter der Annahme, daß Du weißt, wie Du in VBA ein Modul einfügst, kopiere Dir diesen Code: Sub SchnellUndSchmutzig() ActiveSheet.Range("A1").Activate Workbooks("Duplikate.xls").Sheets("Spezialfilter (2-Spaltig)").Range("A:A"). _ AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("A:A"), Unique _ :=True End Sub
mal in einer "Neuen Mappe" da hinein. Ausführen dann über Alt + F8.Die Namen mußt Du Dir halt noch entsprechend anpassen. Wenn Du dann in der "Hauptliste" einen neuen Eintrag erzeugst und in der "Neuen Mappe" das Makro ausführst, sollte es klappen. Bei Fragen - fragen. [Und runkelruebe war schneller ] Frederik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cossi Mitglied
Beiträge: 33 Registriert: 14.12.2006
|
erstellt am: 14. Dez. 2006 10:34 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
danke erst mal für die antwort aber da kommen gleich zwei neue fragen hinterher: also kann es sein dass die einträge in der gefilterten liste zuvor nochmal gelöscht werden müssen bevor das makro gestarten werden darf? bei mir kommt nämlich immer eine fehlermeldung. und was ist denn ein knöppel?? hab ich noch nie gehört. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 14. Dez. 2006 10:41 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
Hm. Hilfreich wäre, was für eine Fehlermeldung auftaucht. Crashkurs: "Knöppel" ist die inoffizielle Bezeichnung für einen "Schalter". In xls in die Menüleiste (grauer Bereich), Anpassen. Erstelle Dir am besten 'ne neue Symbolleiste. Register Befehle, Makros, Benutzerdefiniertes Menüelement. Mit gedrückter linker Maustaste in die Symbolleiste ziehen. Dann auf die "neue" Schaltfläche mit r.Maus -> Makro zuweisen. Frederik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cossi Mitglied
Beiträge: 33 Registriert: 14.12.2006
|
erstellt am: 14. Dez. 2006 10:44 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
ok da muss ich gleich noch ne frage hinterherschießen. hab erst jetzt die antwort von paulchen gesehen und mir ist da ne scahe nicht ganz klar: gehst du jetzt von zwei verschiedenen dateien aus? meine vba kenntnisse sind wie schon angesprochen net so toll aber wenn ich das richtig sehe dann wird erst mal eine neue mappe geöffnet und dort die entsprechenden spalten selektiert. meine bisheriges anliegen war auf ein und dieselbe datei beschränkt. es sollte einfach eine gefilterte liste in einem anderen sheet derselben datei erzeugt werden, die nach möglichkeit aktualisiert werden kann. wie gesagt: ich hab keine ahnung von vba. also falls ich da mit meinen annahmen grad daneben lag dann sag einfach bescheid. danke jedenfalls Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cossi Mitglied
Beiträge: 33 Registriert: 14.12.2006
|
erstellt am: 14. Dez. 2006 10:52 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
also gut jetzt reden wir ein bisschen durcheinander aber um auf die fehlermeldung zurückzukommen. diese lautet folgendermaßen: run time error 1004: the extract range has a missing or illegal field name also ihr wisst doch bestimmt was ich schon wieder falsch gemaht habe. danke schon mal im voraus. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 14. Dez. 2006 10:54 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
OK, ich meine zwar mit Knöppel "nur" nen einfachen Button aber egal ; ) Also: Du blendest Dir erstmal die Symbolleiste "Visual Basic" ein. Da drauf findest Du den "Entwurfsmodus" ein/ausschalten. -> Einschalten Außerdem den button "Steuerelement-Toolbox" -> auch einschalten Dann erzeugst Du Dir eine "Befehlsschaltfläche" aus diesen Steuerelementen. RMT auf diese neue Schaltfläche -> Code anzeigen der VBA-editor macht sich auf, darein kopierst Du jetzt diesen code (nur die Zeile: Sheets(1).Range("B:B").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Tabelle2.Range("B2"), Unique:=True). Das ganze speichern, den "Entwurfsmodus wieder ausschalten (Wichtig!) und voilá, Dein Knöppel ist einsatzbereit. ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 14. Dez. 2006 10:59 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
Zu Deinem Fehler (mögliche Ursachen vermutet): 1. Die zu filternden Daten müssen eine Überschrift haben (Grundvorraussetzung beim Spezialfilter) hast Du keine, mach eine ; ) 2. In der Zeile Sheets(1).Range("B:B").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Tabelle2.Range("B2"), Unique:=True stecken ja nunmal zwei Bereiche drin, sollten die mit Deinen geforderten nicht übereinstimmen, mußt Du die natürlich angleichen. Sheets(1).Range("B:B").AdvancedFilter = die Quelle CopyToRange:=Tabelle2.Range("B2") = das Ziel Unique:=True = Keine Duplikate Hilft's?
------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 14. Dez. 2006 11:01 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
Uuups... Bitte um Verzeihung, habe den "Knöppel" wohl falsch interpretiert... Zitat: ok da muss ich gleich noch ne frage hinterherschießen. hab erst jetzt die antwort von paulchen gesehen und mir ist da ne scahe nicht ganz klar:gehst du jetzt von zwei verschiedenen dateien aus? meine vba kenntnisse sind wie schon angesprochen net so toll aber wenn ich das richtig sehe dann wird erst mal eine neue mappe geöffnet und dort die entsprechenden spalten selektiert. meine bisheriges anliegen war auf ein und dieselbe datei beschränkt. es sollte einfach eine gefilterte liste in einem anderen sheet derselben datei erzeugt werden, die nach möglichkeit aktualisiert werden kann.
Ja, ich gehe von zwei Dateien aus. Vergiss' meinen Beitrag, habe Dich falsch verstanden. Orientiere Dich an den Beiträgen von runkelruebe! Bitte ergebenst um Vergebung. Frederik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cossi Mitglied
Beiträge: 33 Registriert: 14.12.2006
|
erstellt am: 14. Dez. 2006 11:43 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
erstens: paulchen ich vergebe dir. du hast deinen guten willen unter beweis gestellt weshalb du von deiner schuld freigesprochen werden kannst zweitens: ich hab mich mit deinen (also runkelruebes) lösungen auseinandergesetzt und steh irgendwie immer noch auf dem schlauch. also das mit dem knöppel hab ich verstanden, ist mir aber im moment zu schwierig. belassen wir es erst mal bei ne normalen makro ich hab hier kleine probleme deine vorlage an meine anforderungen anzupassen. bisher sieht meine funktion, die ich im übrigen aufgenommen habe, so aus Code: Sub Macro1() Sheets("Sheet1").Range("D4:E6000").AdvancedFilter Action:=xlFilterCopy, _ CopyToRange:=Range("A1"), Unique:=True End Sub
das tolle ist, es klappt sogar- aber nur beim ersten durchführen dieses makros. danach macht baut er irgend einen mist. er wendet scheinbar diesen spezialfilterfehl auf meine schon gefilterte liste an. und löscht mir dabei aber doppelte einträge (die aber gewollt sind). er soll doch lediglich aus meiner tabelle (hier sheet1 glaub ich) nur die werte in meine zweite tabelle kopieren.kurz der hintergrund warum ich doch doppelte werte haben möchte: ich habe ne tabelle mit artikelnummern, die für jeden monat dargestellt werden. jeder artikel kann mehrfach auftauchen-und zwar im selben monat als auch in einem anderen monat. die gefilterte liste sollte mir ursprünglich jeden artikel einmal pro monat anzeigen. das funktioniert auch soweit mit meinem makro. allerdings nur beim ersten mal. denn wende ich das makro nochmal an. sortiert er mir alle doppelten eintreäge für die moante aus. aber genau die brauch ich noch. was ich herausgefunden habe ist, sobald ich meine gefilterte liste mal gelöscht habe und das makro laufen lasse, kriegt er es wieder hin ohne fehler. aber das muss doch auch ohne vorheriges löschen der gefilterten liste gehen oder? naja wenn die verwirrung noch nicht komplett ist dann kannst du dich nochmal melden. wär nett wenn du mir in dieser gelegenheit helfen könntest. [Diese Nachricht wurde von cossi am 14. Dez. 2006 editiert.] [Diese Nachricht wurde von cossi am 14. Dez. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 14. Dez. 2006 11:49 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
Code: Sub Macro1() Sheets(1).Range("D4:E6000").AdvancedFilter Action:=xlFilterCopy, _ CopyToRange:=Tabelle2.Range("A1:B1"), Unique:=True End Sub
wichtig hierbei: CopyToRange:=Tabelle2.Range("A1:B1") Du verweist erstens nämlich noch nicht auf Blatt2 und zweitens muß das Ziel auch zweispaltig sein. und zu doppelte Einträge sind gewollt: Unique:=False, dann weiß ich aber nicht, warum Du den Spezialfilter willst, dann kannste auch einfach kopieren? ; ) ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...
[Diese Nachricht wurde von runkelruebe am 14. Dez. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cossi Mitglied
Beiträge: 33 Registriert: 14.12.2006
|
erstellt am: 14. Dez. 2006 12:08 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
ja ich bins nochmal ich hab deine lösung zwar angeguckt und übernommen aber er will immer noch net. der meckert immer noch wegen irgenwelchen feldnamen. ich hab doch die felder benannt. zumindest glaub ich das. wie dem auch sein hab die xls datei hocgeladen. vielleicht schaust du sie dir mal an und sagst mir dann warum der net will. zu information: die wichtigen tabellen sind sheet1 und sheet2 und das macro1 (bzw modul3). wär echt nett wenn du da nochmal einen blick reinwerfen könntest
[Diese Nachricht wurde von cossi am 14. Dez. 2006 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cossi Mitglied
Beiträge: 33 Registriert: 14.12.2006
|
erstellt am: 14. Dez. 2006 12:15 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
oh mann ich bin soooo blöd. man muss halt den richtigen namen für die tabellen nehmen dann klappts auch. junge junge junge. hätte mich excel da nicht genauer drauf aufmerksam machen können??? naja seis wie es sei. jetzt läuft es. danke nochmal für die hilfe. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 14. Dez. 2006 12:18 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
Du benennst die sheets nicht richtig: Code: Sub Macro1()Sheets("Sheet1").Range("D2:E6000").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Sheets("Sheet2").Range("A1:B1"), Unique:=True End Sub
CopyToRange:=Sheets("Sheet2").Range("A1:B1") mach's so, dann sollte es laufen.. Hab mich jetzt mal nur um das Macro1 gekümmert ; ) ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Paulchen Mitglied Bauing./SW-Entwickler
Beiträge: 1227 Registriert: 19.08.2004 Büro: Win10 Enterprise 64bit, Office Professional Plus 2013 - Privat: Linux Mint 15, LibreOffice
|
erstellt am: 14. Dez. 2006 12:31 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
Hallo nochmal, Zitat: man muss halt den richtigen namen für die tabellen nehmen dann klappts auch. junge junge junge. hätte mich excel da nicht genauer drauf aufmerksam machen können???
NEIN! Excel/VBA setzt eine gewisse Intelligenz voraus, wenn mit Makros gearbeitet wird - gelingt mir auch nicht immer :-( Ich wage, mich (seeeeehr viel weiter oben) selbst zu zitieren: "Die Namen mußt Du Dir halt noch entsprechend anpassen." Dachte, daß war klar. Letztlich egal. Schön, daß es jetzt klappt ! Frederik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
cossi Mitglied
Beiträge: 33 Registriert: 14.12.2006
|
erstellt am: 14. Dez. 2006 12:44 <-- editieren / zitieren --> Unities abgeben: Nur für matthespro
Zitat: NEIN! Excel/VBA setzt eine gewisse Intelligenz voraus,
ich bin doch auch nur ein mensch. wenn ich mich damit ausgekannt hätte dann wär ich ja wohl nicht in diese situation gekommen. aber es läuft ja. deswegen sind all die sorgen von grad eben schon wieder schnee von gestern Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |