11.04.2023, 09:59 (Dieser Beitrag wurde zuletzt bearbeitet: 11.04.2023, 10:02 von Hody72.
Bearbeitungsgrund: Bild eingefügt
)
Ich weiß ehrlich gesagt nicht wie ich die Fragestellung über die Suche abbilden kann, sonst hätte ich das direkt versucht statt hier direkt loszuposten, ich bitte um Verzeihung und hoffe dass mir dennoch geholfen werden kann (sofern mir noch zu helfen ist ;) )
Ich habe eine Tabelle in der ich Daten eintrage, es geht um Fußball, später erstelle ich dann einzelnen Tabellenblätter abhängig davon ob der Eintrag in den Spalten L-W grün ist. Also z.B. alle die bei Spalte L (CF) grün sind kommen dann in ein neues Tabellenblatt und zwar die kompletten Daten (also quasi die ganze Tabelle aber gefiltert noch grünen Einträgen in Spalte L.
Das mache ich dann händisch für jede Spalte. Das ist jedes Mal wenn ich eine Änderung mache eine heiden Arbeit und ich denke ob man das nicht automatisch lösen kann.
(11.04.2023, 10:43)HKindler schrieb: Verlinkst du bitte zu den anderen Foren, in denen du die Frage auch gestellt hast?
Sorry wegen Crosspost, habe noch hier https://www.ms-office-forum.net/forum/sh...p?t=385339 gepostet, weil ich mir nicht sicher war wo ich richtig bin, bzw. wo man mir helfen kann. Eine Lösung habe ich bisher leider noch keine gefunden.
im Prinzip sind das doch nur 3 Schritte
- Filtern
- Ausschneiden (im Beispielcode Kopieren)
- Einfügen
- (im Beispielcode löschen)
Hier mal ein Beispielcode. Vor Gebrauch Sicherheitskopie der Datei / der Daten erstellen (siehe Kommentar vor dem Löschen).
Code:
Sub RueberDamit()
With ActiveSheet.ListObjects("Tabelle1")
'filtert die intelligente Tabelle nach irgendeinem gruen
.Range.AutoFilter Field:=1, Criteria1:= _
RGB(0, 176, 80), Operator:=xlFilterCellColor
'und kopiert die sichtbaren Daten
.Range.Copy
'fuegt die Daten auf Tabelle2, A1 ein
With Sheets("Tabelle2")
.Cells(1, 1).PasteSpecial
End With
'Achtung! loescht die ganze(n) Blattzeile(n)
.DataBodyRange.Delete
End With
End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28 • Hody72
12.04.2023, 18:07 (Dieser Beitrag wurde zuletzt bearbeitet: 12.04.2023, 18:17 von Hody72.)
Vielen Dank, ich habe mittlerweile in dem anderen Forum schon schon Bilder und einen Auszug der Tabelle (Quellblatt und zwei Ergebnisblätter) gepostet. Soll ich das hier auch nochmals posten? Oder darf ich dir die Testtabelle wo hochladen oder hinlegen?
Du hast komplett Recht mit den Schritten die Du schreibst. Aktuell mache ich das Ganze noch per Hand indem ich jeweils die Quelltabelle filtere, und dann die gefilterten Daten jeweils händisch auf jedes Blatt kopiere.
Also z.B. alle Einträge in der Spalte L (CF) die L oder R2 (grün eingefärbt sind) sind ein neues Tabellenblatt, dann das Selbe für SS, LWF usw. jede Spalte von L bis W gibt ein neues Tabellenblatt in die L / R2 (grünen) Einträge drin sind - also quasi so wie beschrieben ein gefilterter Ausschnitt auf einem separatem Tabellenblatt. Damit man auf dem Ergebnisblatt schnell einen Überblick hat oder vergleichen kann.
Die Farbe muss im Übrigen nicht als Kriterium genommen werden, weil es auch eindeutige Kriterien (L + R2) gibt, das einfärben davon ist quasi nur für mich visuell.
Es sind 12 "Ergebnisblätter" - dort soll alles im Prinzip so aussehen wie im Quellblatt - so dass z.B. Pivot ausscheidet, weil das offenbar nicht ohne Berechnung geht.
Die Idee bzw. der Idealfall wäre, dass ich das Quellblatt ändere und danach dann die Daten in den 12 Auswertungsblättern jedes Mal dynamisch verändert werden. Entweder von selbst oder eben beim Start eines Scripts
12.04.2023, 18:43 (Dieser Beitrag wurde zuletzt bearbeitet: 12.04.2023, 18:52 von Hody72.)
Ähhm mit Makros bin ein kompletter Noob, ich habe mal gerade mit Deinem gespielt und dann versucht ein eigenes aufzuzeichnen,
also für das erste Ergebnisblatt
Zeichnen Markos einfach auf was man macht? Und wie differenziert man später bzw. führt die Dinger für jedes Blatt aus.
Edith: Und offenbar macht er jetzt jedes Mal ein neues Blatt wenn ich dieses neue Makro ausführe
Edith2: Habe jetzt ein neues Makro aufgezeichnet, das kopiert wohl einfach die Schritte die ich mache, wenn ich die Daten händisch kopiere. Das würde heissen ich müsste das für alle der 12 Seiten nur einmal aufzeichnen und dann die 12 Markos jeweils ausführen.
Oder habe ich das falsche verstanden?
nee Edith habe ich statt Edit mal wo gelesen und fand es lustig, will jetzt keinen Sh*tstorm lostreten aber eine reicht mir voll und ganz, wobei ich alleinerziehender Papa bin und die "Edith" "nur" die Freundin ist, vom antrauen bin ich abgekommen...
Dank dem Tipp von @Schauan habe ich mich mal ein bisschen mit Makros beschäftigt, ich denke das wird wohl der Weg zum Ziel sein. So wie ich das Ganze verstanden habe, zeichnet man praktisch die Schritte in Excel auf und spielt diese dann später als Marko ab.
Damit könne ich ja quasi das was ich jetzt händisch mache, einfach Makros automatisieren.
Die Fragen dazu wären dann eben noch, können Makros auch dateiübergreifend benutzt werden, also suche Daten in (Excel)Datei X und füge sie dann in Datei Y ein. Und wenn ja muss das Makro dann in beiden Arbeitsmappen gespeichert sein oder wie funktioniert das?
Dann gibt es wohl absolute und relative Bezüge, wie sage ich einem Makro z.B. er soll alles was nach dem Kopieren übersteht (also wenn es dort schon Daten gab) löschen?
2. nee Edith habe ich statt Edit mal wo gelesen und fand es lustig, will jetzt keinen Sh*tstorm lostreten aber eine reicht mir voll und ganz, wobei ich alleinerziehender Papa bin und die "Edith" "nur" die Freundin ist, vom antrauen bin ich abgekommen...
3. Die Fragen dazu wären dann eben noch, können Makros auch dateiübergreifend benutzt werden, also suche Daten in (Excel)Datei X und füge sie dann in Datei Y ein. Und wenn ja muss das Makro dann in beiden Arbeitsmappen gespeichert sein oder wie funktioniert das?
4. Dann gibt es wohl absolute und relative Bezüge, wie sage ich einem Makro z.B. er soll alles was nach dem Kopieren übersteht (also wenn es dort schon Daten gab) löschen?
zu 1. nein
zu 2. danke für deine Erleuchtung
zu 3. dateiübergreifend? ja das ist möglich und das Makro macht das von einer Datei aus. (Muss das denn wirklich eine neue Datei sein, oder wäre es nicht "sinnvoller" ein entsprechendes Tabellenblatt dafür zu erstellen?)
zu 4. wenn von den vorhandenen Daten keine mehr relevant sind, kannst du vor dem einfügen alles löschen.
Gruß Dirk
--------------- - Wenn du nicht weißt, wo du hin willst, ist es egal, welchen Weg du einschlägst.