Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Tabelle 1:1 automatisch kopieren
#1
Hallo, ich habe da ein Problem, vielleicht kann mir jemand helfen.
Ich habe eine Tabelle, in der sich folgende Einträge unregelmäßig wiederholen.

Spalte1) Kundennummer / Name / Artikel / Datum / etc

Spalte2) Information (als Text) diese Spalte kann auch leer sein, muss dennoch kopiert werden.

Spalte3) Weitere Information(Text) diese Spalte kann auch leer sein, muß dann aber nicht kopiert werden. Hier kann der nächste Kreislauf (siehe Spalte 1) beginnen.

Diese Liste wiederholt sich für jeden Kunden zwischen 0 und 12 Mal.

Der Geseamte Datensats kann recht groß sein, mit sehr vielen einträgen, die sich immer wie oben beschrieben aufbauen.
Es gibt eine zweites Tabellenblatt in dem alle Kunden mit Kundennummer Alphabetisch sortiert sind.
Ich muss nun jeden Monat aus der ersten Liste alle Einträge zu einem Kunden heraussuchen und Diese in einem extra Tabellenblatt welches die Kundennummer als Bezeichnung hat eintragen und ausdrucken.

Alledings kann es sein, das ein Kunde auch in einem Tabellenbereich eines anderen Kunden auftaucht, dann muss ich diesen Eintrag aus der ersten Liste rauslöschen und als Zusatz in der eigentlichen Kundenliste unter einem Bestimmten Textfeld einfügen. In diesen Bereich kommen alle Tabellen daten, die nicht in diesem Ersten bereich sind. Der erste Bereich wird durch eine feste Definition gekennzeichnet.

Mit einem Einfachen Svwereis oder über Index habe ich es nicht hinbekommen, da ich die Zweite und dritte Zeile nicht mitkopiert bekomme. vielleicht hat hier einer eine Idee.


Meine Momentane Formel sieht so aus:

{=WENN(ZEILE(1:1)>($O$9:$O$34>0);"";INDEX(O$9:O$34;KKLEINSTE(WENN($Y$9:$Y$34>0;ZEILE($1:$25));ZEILE(A1))))}

Ich glaube das einfachste wär wenn ich nun einfach sagen könnte, dass er mir automatisch die nächste Zeile kopiert und die dritte nur wenn sie mit Inhalt gefüllt ist, jedoch bekomme ich es einfach nicht hin.

Vielleicht kennt auch einer eine VBA Lösung, wodurch ich in der Kundenliste nur eine Makierung setzen kann und dann Automatisch die Datenblätter erstellt werden. Das wäre die eleganteste Lösung.


Danke im Voraus.


Angehängte Dateien
.xlsx   Tabelle Kopieren.xlsx (Größe: 14,31 KB / Downloads: 21)
Antworten Top
#2
Moin und Willkommen im Forum!
Allerdings wird Dir meine Antwort nicht gefallen.
Zitat:Hallo, ich habe da ein Problem,
Stimmt!
Dein einziges Problem ist der Aufbau der Datei!
Schon mal mit Access gearbeitet?
Es würde Dir Deine Anfrage gehörig um die Ohren hauen, weil …
… ach, lies Dir dies doch einmal aufmerksam durch:
https://de.wikipedia.org/wiki/Normalisie...Datenbank)
(bis zur dritten Normalform kann auch Excel)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Aritmatos
Antworten Top
#3
Hallo und Danke,

ja ich weiß, dass eine Access Datenbank hier besser währe, aber ich bekomme die Rohdaten als Excell Tabelle geliefert.
Antworten Top
#4
Mein Hinweis auf Access betraf "nur" den absolut ungeeigneten Aufbau der Datei.
So etwas lässt sich problemlos mit Excel regeln, ABER:
Zitat:aber ich bekomme die Rohdaten als Excell Tabelle geliefert
Dann sprich mit dem "Lieferanten"!
Du darfst ihm gerne mit Hinweis auf dieses Forum sagen, dass Excel eine Kalkulation ist, keinesfalls jedoch eine Abbildung eines karierten DIN A4-Blatts.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Hi,

(09.03.2017, 17:57)RPP63 schrieb: Dann sprich mit dem "Lieferanten"!
Du darfst ihm gerne mit Hinweis auf dieses Forum sagen, dass Excel eine Kalkulation ist, keinesfalls jedoch eine Abbildung eines karierten DIN A4-Blatts.

genau!
So muß die Liste aussehen, dann ist es auch einfacher, die Ausgabe zu füllen:
Monat
ABCDEFGHIJ
4Kunden Nr.GebietsNr.OrtNachnameVornameDatumArtikelZMengeMusterabgabeSonderkondition
52100MusterstadtMusterfrauMusterin'01.02.2017Muster260jaja
62100MusterstadtMusterfrauMusterin'04.02.2017Muster200janein
72100MusterstadtMusterfrauMusterin'08.02.2017Muster50jaja
82100MusterstadtMusterfrauMusterin'11.02.2017Muster100janein
92100MusterstadtMusterfrauMusterin'15.02.2017Muster150jaja
102100MusterstadtMusterfrauMusterin'18.02.2017Muster16Neinnein
112100MusterstadtMusterfrauMusterin'22.02.2017Muster250Neinnein
122100MusterstadtMusterfrauMusterin'25.02.2017Muster260janein
131200MusterstadtMustermannMax'01.02.2017Muster1.000Neinnein
141200MusterstadtMustermannMax'04.02.2017Muster2janein
151200MusterstadtMustermannMax'08.02.2017Muster564janein
161200MusterstadtMustermannMax'11.02.2017Muster555janein
171200MusterstadtMustermannMax'15.02.2017Muster2.679janein
Excel-Inn.de
Hajo-Excel.de
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 19.07 einschl. 64 Bit


Am Besten noch chronologisch nach Datum.
Antworten Top
#6
Erst mal: Spalte1??? Spalte1 ist A!
lt Deiner Datei steht aber weder in A noch in Zeile 1 das, was Du aufzählst. Bitte übliche Terminologie genau beachten!

Das Gebietsschema für Mustermann ist im Blatt Monat 200, im Blatt Ausgabe 100 ???

Es wäre sinnvoll, die Gebietsschema-Nr in Kundenstamm!D:D festzuhalten. (oder dem Vorschlag von RPP3 zu folgen)
sinnvollerweise sollten auch die anderen konstanten Angaben in dieser Liste (Kundenstamm) sein, dann wäre alles viel einfacher automatisierbar.
(könnte man aus jedem einzelnen Ausgabe-Blatt auch erstmals per Makro rüberschreiben lassen, per Formel geht das nicht)

Deine Formel bezieht sich auf Spalten O und Y, beide leer. ???

Es geht sicher mit einem Makro, auch wenn der Aufbau alles andere als optimal ist. Willst Du das? Dann kläre obige Fragen!
Fast nichts ist unmöglich, aber vieles sehr aufwändig :20:
Antworten Top
#7
Hi,

Zitat:Erst mal: Spalte1??? Spalte1 ist A!

bist du da sicher? Der Fragesteller beginnt mit seiner eigentlichen Tabelle in B:B, ergo ist das für ihn die Spalte 1. Versuche doch mal mittels Funktionen, wie z.B. den SVERWEIS den Bezug auf C:C dieser Mustertabelle zu lenken. Was glaubst du, welchen Spaltenindex du angeben musst?

Monat

BCDEFG
4Kunden Nr.NachnameVornameDatumArtikelZMenge
52MusterfrauMusterin01.02.2017Muster260
6Musterabgabe
7Sonderkondition
82MusterfrauMusterin04.02.2017Muster200
9Musterabgabe
102MusterfrauMusterin08.02.2017Muster50
11Musterabgabe
12Sonderkondition

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#8
Hallo

ich sehe in der Tabelle Kundenstamm nur drei Sğalten:  wo sind die anderen Daten die ausgefüllt werden müssen??
In welcher Spalte sind:  Wohnort, Strasse, Tel. Nr, E-Mail??  mit VBA kann man keine Kanninchen aus dem Hut zaubenr!!
Stehen die Daten evtl. in mehreren Gebieten, oder ist jedes Gebiet getrennt für sich??

mfg  Gast 123
Antworten Top
#9
Hallo, erstmal Danke für die vielen Antworten.

Ich habe die Beispieltabelle nochmal überarbeite, hoffe es ist nun etwas klarer was ich meine.

Ich habe mit dem Gesprochen, der mir die Daten liefert, hier ist das Problem, dass er in der Darstellung nix ändern kann (will) wei es sehr aufwendig für ihn wäre.
Sorry für die Formel.

{=WENN(ZEILE(1:1)>($O$9:$O$34>0);"";INDEX(O$9:O$34;KKLEINSTE(WENN($Y$9:$Y$34>0;ZEILE($1:$25));ZEILE(A1))))}

Das war meine Testformel, hatte die Falsche kopiert.


{=WENN(ZEILE(1:1)>($B$5:$B$50000>0);"";INDEX(B$5:B$50000;KKLEINSTE(WENN($L$5:$L$50000>0;ZEILE($1:$49995));ZEILE(B1))))}

Diese Formel geht etwas über die gesamtdaten hinaus, da es aber mehr werden können, habe ich mir einen kleinen Puffer von ca. 5000 Zeilen eingebaut. Hier wäre es das beste, wenn die zu durchlaufende Tabelle in der Zeilenanzahl variabel wäre.
Das Problem was ich noch nicht gelöst habe, dass er mir alle Spalten mit der selben Kundennummer ausgibt. hier ist in der Formel noch ein Fehler, da ich den Bezug noch nicht sauber definieren konnte.

@Sverweis


Das Problem ist, dass der Sverweis nur auf den ersten Wert geht, der Sverweis war mein erster Gedanke aber ich habe es mit ihm nicht hinbekommen, zumal das Problem diese Einschübe von anderen Kunden ist.

@ Kundenstamm

Hier baue ich gerade eine Acess-Datenbank auf, damit wenigstens dass sauber ist. hier bekomme ich es mit einem Sverweis recht gut hin.

Aber zur angabe der Spalten:
Zeile 4: Pers.Nr. (Persönliche Nummer) in Zukunft Kundennummer
Zeile 5: Name
Zeile 7: Vorname (Zeile 6 ist der evtl. Geburtsname. Der hat aber hier keine Bedeutung ist nur für die Buchhaltung wichtig. ebenso wie die Firmenbezeichnung (Fragt mich nicht warum es so sein soll ich weis es auch nicht. Glaube aber, da es nur für den Internen gebrauch ist, dass es hier für die anderen Abteilungen leichter ist, wenn sie sofort einen Ansprechpartner haben.)
Zeile 8: Straße
Zeile 9: Hausnummer
Zeile 10: PLZ
Zeile 11: Wohnort
Zeile 12 oder 13: (12) Telefon; (13) Handy (Da es meistens nur eine Angabe gibt, muss immer auf die vorhandenen Zugegriffen werden, gibt es mehrere, sollen sie hinterinander stehen. )
Zeile 14: Email
Zeile 2: Gebiet
Zeile 3: Gebietsbezeichnung

Die Gesamten Angaben in der Accesdatenbank für einen Kunden umfassen fast 50 Eintragungen. Die hier beschriebnenen sind nur die für diese Tabelle relevanten.

Hoffe, ich konnte einige Unklarheiten beseitigen, wenn die Tabelle noch konkreter werden soll, muss ich nochmal daran.

Danke im Voraus.


Angehängte Dateien
.xlsx   Tabelle Kopieren 1.xlsx (Größe: 14,63 KB / Downloads: 17)
Antworten Top
#10
Hallo

anbei ein Erstentwurf um die Aufgabe zu lösen.  Eine wichtige Frage ist ja, woher ich weiss welcher Kunde aufgelistet werden muss.  Ich habe dafür eine dreispaltige ListBox eingefügt, weil ich davon ausgehe das diese Liste nach dem Drucken überschrieben werden kann.  Ich hoffe ich liege da richtig?
 
Bitte das Programm zuerst in meiner Testdatei mit Originaldaten testen, weil ich nicht garantieren kann das alles auf Anhieb Fehlerfrei laufen wird.  Ich hoffe das meine Idee die Aufgabe so zu lösen richtig ist.  

Das Makro ist sehr einfach geschrieben, sollten die Spalten in der Kundenstamm Tabelle evtl. nicht stimmen kann man sie hier leicht von Hand aendern:   Cells(2, 1) = KST.Cells(z, "A")   ggf. für A,B,C,D einfach eine andere Spalte angeben!

msg  Gast 123


Angehängte Dateien
.xlsm   Tabelle Kopieren 1F.xlsm (Größe: 39,39 KB / Downloads: 4)
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • Aritmatos
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste