Clever-Excel-Forum

Normale Version: Übergreifendes Makro für verschiedene Blätter erstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

auch ich hab dann mal ne Frage bzw ein Problem und Hoffe das mir jemand helfen kann.

Ich versuche ein Macro zu bauen das folgendes Tut:


Ich habe eine Übersichtstabelle ( Blatt1 ) mit vielen Zeilen.
mein Marcro soll nun folgendes tun.
Eine Komplette Zeile inkl. Inhalt auf ein neues Blatt (Blatt2) kopieren wenn in einer Spalte dieser Zeile auf (Blatt1) ein bestimmter Wert steht.
(z.B. Spalte E  Wert =20)
Somit habe ich danach ein 2. Blatt wo alle Zeilen aus (Blatt 1) untereinander stehen mit diesem Wert haben anfangen soll es auf Blatt 2 aber erst ab Zeile 3 damit ich da drüber in Zeile 1 noch überschriften setzten kann.
Wenn möglich würde ich sogar den Macro dahingehend erweitern, dass wenn:
der Wert (30) in der Spalte steht wird die Zeile auf Blatt 3 Kopiert. Steht der Wert (40) in der Spalte wird die Zeile auf Blatt 4 Kopiert und das gleiche für (50) auf Blatt 5

oder muss ich hierfür jeweils einen eigenen Macro schreieben

ich hoffe ich habe mich einigermassen verständlich ausgedrückt und jemand kann mir helfen oder im besten fall sogar den syntax für den Macro mir geben

Ich danke euch

Ich hoffe sehr das Sie mir helfen können.
LG Benjamin Sill
Hallo Benjamin,

du hast das zwar alles hübsch umrissen - aber ohne eine Beispielmappe (kein Bild!!!) wirst du hier maximal Anregungen erhalten, aber mit Sicherheit keine Lösung. Niemand hat Lust, aufgrund deiner etwas  schwammigen Angaben deine Datei nachzubauen.
entschuldigung das war mir so nicht klar

anbei habe ich eine Musterdatei beigefügt
Hi Benjamin,

muss es unbedingt VBA sein? Falls ja, vergiss meinen Vorschlag. Dabei kann ich dir dann aber nicht helfen.

Mein Formelvorschlag, vorausgesetzt deine angegebene Version 16.17 (was immer das auch heißen mag) ist Excel >= XL2010

Arbeitsblatt mit dem Namen 'Dantenbank'
CDEFGHIJKLMNOPQ
1Überschrift 3Überschrift 4Überschrift 5Überschrift 6Überschrift 7Überschrift 8Überschrift 1Überschrift 2Überschrift 3Überschrift 4Überschrift 5Überschrift 6Überschrift 7Überschrift 8
2aaaaarrghahoiape20bbbbbbbbbbbblobblubblabla030
3bbbblobblubblabla30ffffffffffacettenreichefehlerfallen auf030
4ccccäsarscappuccinois cold50
5dddddusselsdaisyduckt sich40
6eeeeeusebiaechauffiertesich einst20
7ffffacettenreichefehlerfallen auf30
8gggganzgroßesg(k)ino50
9hhhhansholthilfe40

ZelleFormel
J2=WENNFEHLER(INDEX(A:A;AGGREGAT(15;6;ZEILE($H$1:$H$9)/($H$1:$H$9=30);ZEILE(A1)));"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Der besseren Übersicht wegen habe ich meinen Vorschlag auf das gleiche Tabellenblatt geschrieben; du musst halt die Formel anpassen. Du brauchst sie nur einmal eintragen (im Beispiel in J2) und nach rechts und nach unten ziehen. Zudem könntest du, anstelle die 30 fest in der Formel zu verdrahten, diese in eine Zelle schreiben und dich darauf beziehen. Dadurch ist sie flexibel und kann auch für andere Kriterien eingesetzt werden.

Nachtrag:
Die Nullen, die wegen der leeren Zellen geschrieben werden, kannst du, wenn sie stören, mit einer benutzerdefinierten Formatierung ausblenden:
Code:
0;;
Hi,

(22.09.2018, 05:44)WillWissen schrieb: [ -> ]du musst halt die Formel anpassen.

ohne sie manuell anpassen zu müssen, geht das auch ganz einfach durch Ausschneiden STRG-X und Einfügen STRG-V in das andere Tabellenblatt.

Arbeitsblatt mit dem Namen 'Tabelle2'
ABCDEFGH
1Überschrift 1Überschrift 2Überschrift 3Überschrift 4Überschrift 5Überschrift 6Überschrift 7Überschrift 8
2bbbbbbbbbbbbbbbbbbbbb030
3fffffffffffffffff030
4
5
6
7
8
9
10

ZelleFormel
A2=WENNFEHLER(INDEX(Datenbank!A:A;AGGREGAT(15;6;ZEILE(Datenbank!$H$1:$H$10)/(Datenbank!$H$1:$H$10=30);ZEILE(Datenbank!C1)));"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

PS: es heißt "Datenbank" :21:
Reicht dir die Formellösung oder muss es VBA sein?
Hallo,

für mich stellt sich (wieder einmal) die Frage, warum nicht einfach das Tabellenblatt Datenbank gefiltert wird.
Hi Klaus-Dieter,

ja, nach Spalte "Überschrift 8".