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
1380to1384
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
Inhaltsverzeichnis

Nach Wersten suchen und ganze Zeile kopieren!

Nach Wersten suchen und ganze Zeile kopieren!
12.09.2014 15:45:48
Andrea
Hallo zusammen,
folgendes Problem:
Ich habe verschiedene Spalten z.B. Obst Farbe Pflückdatum.
In den Zeilen könnte jetzt z.B. Apfel, Birne, Pflaume für Obst, und Grün, Gelb, Rot für Farbe und verschiedene Pflückdaten stehen.
Wenn ich jetzt in einem neuen Tabellenblatt alle Grüne birnen vom 02.10. haben will, wie muss dann die Funktion dazu aussheen? Er soll also das erste Tabellenblatt mit den "Metadaten" durchsuchen und mir alle Grünen Birnen vom 02.10. in jede Zeile reinschreiben. Geht das überhaupt oder ist hier n Makro eindeutig besser?
LG
Andrea

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

Betreff
Datum
Anwender
Anzeige
AW: Nach Wersten suchen und ganze Zeile kopieren!
12.09.2014 16:37:23
Daniel
Hi
mit Formeln: Schwierig
von Hand: mit Autofilter in den Spalten nach den gewünschten Werten Filtern und dann die gefilterte Tabelle in die neue Tabelle kopieren (in gefilterten Tabellen werden nur die sichtbaren Zeilen kopiert)
per Makro: genauso wie von Hand. der Recorder ist dein Freund.
die optimale Excellösung wäre hier der Spezialfilter.
hierzu:
1. in der neuen Tabelle in Zeile 1 die Spaltenüberschriften auflisten, die Filterrelevant sind (Obst|Farbe|Datum)
2. in den Zeilen darunter jetzt die Filterkriterien hinschreiben, jeweils unter die passende Überschrift (Birne|grün|2.10)
3. mit etwas Abstand zu den Filterkriterien in einer Zeile alle Überschriften hinschreiben, die angezeigt werden sollen (Obst|Farbe|Datum)
4. zum Erstellen des Filters dann so vorgehen:
- das Blatt selektiern, auf dem die Ausgabe erfolgen soll
- Menüpunkt: DATEN - SORTIERN UND FILTERN - ERWEITERT klicken
- im Auswahlfenster folgendes einstellen:
- "an andere Stelle kopieren"
- Listenbereich: die Liste mit den Grunddaten (Blatt 1)
- Kritereienbereich: der Zellbereich der unter 1. und 2. erstellt wurde
- Kopieren nach: der zellbereich mit den Überschriften aus 3.
- Keine Duplikate: je nach bedarf
Gruß Daniel

Anzeige
AW: Nach Wersten suchen und ganze Zeile kopieren!
12.09.2014 16:54:23
Andrea
Hi zusammen,
ja das mit dem Spezialfilter habe ich auch schon probiert aber komme nicht zum gewünschten Ergebnis. Ich will ja nicht extra die Filterkriterien nochmals in ein Tabellenblatt schreiben.
Auch sollen alle weiteren Metadaten in der Zeile dann "kopiert" werden.
Sprich wenn ich nur nach "Birne" und "Rot" suche, dann soll auch das Datum, und sämtliche anderen Spalten der Zeile kopiert werden.
Habe mich auch schon an das Thema Matrix gewagt, aber kann hier irgendwie nicht mehr als ein Kriterium filtern.

AW: Nach Wersten suchen und ganze Zeile kopieren!
12.09.2014 16:58:18
Daniel
Hi
genau das funktioniert auch mit dem Spezialfilter, wenn du im Schritt 3 alle Spaltenüberschriften hinschreibst und im Schritt 1 nur diejenigen, nach denen du filtern willst.
und irgenwo musst du die Information, wonach du filterst ja hinterlegen.
ansonsten Autofilter und kopieren.
Formeln hätten den Nachteil, dass die für sowas langsam sind und weil du ja nicht genau weisst, wie viele Zeilen du bekommst, wirst du immer mehr Formeln haben als tatsächlich benötigt.

Anzeige
AW: Nach Wersten suchen und ganze Zeile kopieren!
12.09.2014 19:35:14
Andrea
Cool habe das jetzt recht gut hinbekommen! Da ich das ganze aber jeden Tag machen muss und das über mehrere Tabellenblätter wollte ich das halt mit Formeln machen, damit ich einfach nur die Rohdaten in ein Tabellenblatt kopiere und dann automatisch alle anderen Blätter die gefilterten inhalte habe...oder ist es hier einfach am besten den spezialfilter als makro zu recorden?

AW: Nach Wersten suchen und ganze Zeile kopieren!
12.09.2014 20:10:24
Adis
Hallo
hier eine Makro Lösung die m.E. ohne Spezialfilter auskommt, aber effektiv ist.
Es würde mich freuen wenn sie laeuft. Bitte in ein normales Modulblatt kopieren.
Zuerst in einer Testdatei testen ob alles funktioniert wie gewünscht, damit nicht
versehentlich Daten in der Originaldatei zerstört werden.
Die erste Version sieht vor über drei Zellen Werte einzugeben, die gesucht werden.
Bei mir in der Tabelle1, die Original Tabelle mit allen Obstsorten in die Zellen:
Sorte = Range("G2"), Farbe = Range("H2"), Datum = Range("I2")
Über einen Button sucht er die Werte und kopiert fortlaufend in Tabelle2
Als alter Praktiker, der selbst auf dem Grossmarkt gearbeitet hat, ist mir das
viel zu umstaendlich. Viel schneller ist mein -Automatisch ausfüllen- Programm!
Hier gibt man in eine Hilfsspalte ("E") einen Wert ein, egal was, Buchstabe "a"
und das Programm kopiert automatisch alle markierten Zeilen in Tabelle 2.
Bitt mal ausprobieren ob mir als altem Praktiker eine gute Lösung gelungen ist.
Const Adr1 = "A2" 'Anfangs Adresse (ohne Überschrift) für Obst in Tabelle1
Const KopSpa = 3 'Anzahl zu kopierende Spalten, erweiterbar für Stückzahl, etc.
Const AutoSp = "E" 'Hilfsspalte eingeben (hier D) für Auto Ausfüllen
Dim Tab1 As Object, Tab2 As Object
Dim Sorte, Farbe, Datum 'Variant
Sub Obst_Manuell_Suchen_Kopieren()
Set Tab1 = Sheets("Tabelle1")
Set Tab2 = Sheets("Tabelle2")
Sheets("Tabelle1").Select
Sorte = Range("G2").Value
Farbe = Range("H2").Value
Datum = Range("I2").Value
'Schleife zum durchsuchen von Tabelle1
For Each i In Range(Adr1, Range(Adr1).End(xlDown))
If i.Value = Sorte Then
If i.Cells(1, 2) = Farbe Then
If i.Cells(1, 3) = Datum Then
'** Select nur zum Spalten Test
'i.Resize(1, Spa).Select:  Exit Sub
'zuerst End Zeile in Tabelle 2 finden
If Tab2.Range("A2").Value = Empty Then Edr = "A2" Else _
Edr = Tab2.Range("A1").End(xlDown).Offset(1, 0).Address
'gefundene Zeile  -mit Formate- in Tabelle2 kopieren
i.Resize(1, KopSpa).Copy Tab2.Range(Edr)
End If
End If
End If
Next i
End Sub

Sub ObstListe_automatisch_erstellen()
Set Tab1 = Sheets("Tabelle1")
Set Tab2 = Sheets("Tabelle2")
Sheets("Tabelle1").Select
If Tab2.Range("A2").Value = Empty Then Z = 2 Else _
Z = Tab2.Range("A1").End(xlDown).Row + 1
'Schleife zum durchsuchen von Tabelle1
For Each i In Range(Adr1, Range(Adr1).End(xlDown))
'ausgewertet wird ob Spalte D leer ist oder nicht
If i.Cells(1, AutoSp)  "" Then
'gefundene Zeile  -mit Formate- in Tabelle2 kopieren
i.Resize(1, KopSpa).Copy Tab2.Range("A1").Cells(Z, 1)
Z = Z + 1
End If
Next i
End Sub
Gruss Adis
Anzeige

323 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige