Anzeige
Archiv - Navigation
244to248
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
244to248
244to248
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bei neuem Datensatz neues Blatt erzeugen

Bei neuem Datensatz neues Blatt erzeugen
22.04.2003 10:42:52
Carsten
Hallo zusammen,

ich habe eine Lieferantendatei. Das erste Tabellenblatt enthält eine Übersicht in der alle Lieferanten enthalten sind. Zusätzlich gibt es für jeden Lieferanten ein eigenes Blatt in dem die Daten (Firma, Anschrift, Anspechpartner, Telefon, Fax, email etc...)aus der Übersicht per sverweis angezeigt werden.

Alle Blätter sind gleich aufgebaut.

Gibt es eine Möglichkeit, sobald in der Übersicht ein neuer Datensatz erzeugt wird, automatisch ein neues Tabellenblatt inkl. aller Verweise zu erzeugen?

Schon mal vielen Dank für Eure Mühe im voraus.

Gruß
Carsten

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Bei neuem Datensatz neues Blatt erzeugen
22.04.2003 11:55:01
Panicman

Hallo Carsten,

Bitte die Bereiche und Zellen für dein Beispiel anpasen

Gruß
Holger

Re: Bei neuem Datensatz neues Blatt erzeugen
22.04.2003 11:56:13
Carsten

Ich werd's gleich mal testen. Dank schon mal im Voraus.

Carsten

Re: Bei neuem Datensatz neues Blatt erzeugen
22.04.2003 14:15:52
Carsten

Hallo Holger,

ich bin in VBA nicht sehr fit, das Anpassen der Bereiche werd ich aber noch hinkriegen. Aber ich habe trotzdem noch ein Problem.
Ich habe die Makro erstmal Probeweise unverändert eingefügt und erhalte nun die Fehlermeldung "Sub oder Function nicht definiert"

Woran kann das liegen? Hab ich den zweiten Teil an die falsche Stelle geschrieben?

Gruß
Carsten

Re: Bei neuem Datensatz neues Blatt erzeugen
22.04.2003 15:52:05
Panicman

Hallo Carsten,

da das Makro ja anspringt, scheint der 1 Teil richtig kopiert zu sein

Nochmal ausführlich:
Alt-F11 öffnet den VBA-Editor, auf der linken Seite sollte der Name deiner Datei erscheinen, Doppelklick auf den Namen.
Nun müßtest du einen "Baum" sehen mit DieseArbeitsmappe, Tabelle1 (Tabelle1), Tabelle2 (Tabelle2), usw.

den 1. Teil kopierst du in Tabelle1 (doppelklick auf Tabelle1 öffnet rechts ein weißes Blatt). Ich gehe davon aus, das in Tabelle1 Spalte1 die Namen geschrieben werden.

den 2. Teil kopierst du in MODUL1, falls das nicht vorhanden ist, mit der rechten Maustaste auf Tabelle1, im Menü einfügen/Modul auswählen. Dann den 2. Teil in Modul einfügen.

Fertig.

Nun wird immer, wenn in Tabelle1 Spalte1 etwas gändert wird das letzte blatt in deiner Mappe kopiert und am Ende eingefügt.
Es sollte in der Mappe bevor du das Makro ausführst mindestens 2 Blätter sein.

Wenn das nicht ist, kann es zu Fehlern kommen.

Konnte allerdings deine Fehlermeldung nicht reproduzieren, arbeite aber mit XL97.

Gruß
Holger

Anzeige
Re: Bei neuem Datensatz neues Blatt erzeugen
23.04.2003 08:28:03
Carsten

Super, so eine Erklärung für doofe wirkt doch manchmal Wunder.

Aber leider gibt es doch noch zwei Probleme:

1. Bei der ersten Eingabe wird ein Blatt mit der Überschrift aus Spalte 1 der Ursprungstabelle erzeugt.

2. Bei jeder Änderung wird ein Blatt mit dem Namen des ersten Datensatzes erzeugt. So kommt es dann zu einer Fehlermeldung da ja zwei Blätter nicht den selben Namen haben können.

Was kann man denn da noch machen?

Gruß
Carsten

Re: Bei neuem Datensatz neues Blatt erzeugen
23.04.2003 15:10:36
Panicman

Hallo Carsten,

zu 1.:
Damit nicht immer ein Blatt mit der Überschrift erzeugt wird, ändere bitte den Code in MODUL1 von:
"For I = 1 To x" auf "For I = 2 To x" damit wird immer erst ab der 2. Zeile geschaut, ob ein neuer Name dazugekommen ist.

Zu 2.:
Verstehe ich nicht, denn ich habe ja ein Schleife eingebaut, die prüft, ob der Name schon vorhanden ist. Wenn er schon vorhanden ist passiert nichts.
Beschreibe mal das Problem genauer

Gruß
Holger



Anzeige
Re: Bei neuem Datensatz neues Blatt erzeugen
23.04.2003 15:25:48
Carsten

Hallo,

das mit der Überschrift klappt schon mal.

Wenn ich den ersten Datensatz eingebe wird ein neues Blatt erstellt und umbenannt.
Wenn nun ein zweiter Satz eingegeben wird, erstellt er zunächst eine Kopie von Blatt 1, beim Umbenennen kommt jedoch der Laufzeitfehler 1004.

Ich habe jetzt schon verschiedenes probiert, leider bisher erfolglos.

Hast Du noch 'ne Idee?

Carsten


Re: Bei neuem Datensatz neues Blatt erzeugen
23.04.2003 16:11:16
Panicman

Hallo Carsten,

Ich habe keine Ahnung, warum bei dir der Laufzeitfehler kommt.
Bei mir funzt das einwandfrei.

Kleiner Tipp noch. Das 1. Blatt hat deine Liste. Du solltest das 2. Blatt nicht mit dem Programm einfügen lassen, da dann das Makro in "TABELLE1" mit kopiert wird. Füge liebe ein Blatt so ein, oder lösche das Makro aus dem 2. Blatt. Es würde sonst immer mit kopiert.

Tut mir leid, das ich dir nicht jetzt helfen kann, aber poste doch nochmal deinen abgeänderten Code.

Gruß
Holger


Anzeige
Re: Bei neuem Datensatz neues Blatt erzeugen
24.04.2003 09:34:59
Carsten

Moin Holger,

ich habe das ganze schon so gemacht, d.h. zuerst manuell ein weiteres Blatt eingefügt. Das Blatt ist ja eh anders aufgebaut als die Liste in Tabelle 1.

Meinen geänderten Code habe ich nur getestet, dann aber wieder verworfen da es nicht geklappt hat.
Wie gesagt, der Fehler passiert beim Umbenennen des Blattes und zwar weil er den neuen Namen aus Zelle A1 zieht, diese Zelle aber nach dem kopieren nicht geändert wird.
Ich wollte ihn nun dazu bringen, vor dem Umbenennen den Zellinhalt mit der neuesten Positionsnummer aus Spalte 1/Tabelle 1 zu überschreiben.
Hat leider noch nicht geklappt da er an der Stelle an der ich umbenennen wollte in den Code der Tabelle1 gesprungen ist. Warum??? Ich habe nicht die geringste Ahnung.

Irgendwas habe ich jedenfalls falsch gemacht.

Hast Du noch die eine oder andere Idee?

Danke Dir zum x-ten Mal für Deine Mühe.

Gruß
Carsten


Anzeige
Re: Bei neuem Datensatz neues Blatt erzeugen
24.04.2003 09:46:04
Panicman

Hallo Carsten,

ich kann dir so leider nicht helfen. Schicke mit mal deine Tabelle an panicman_de@gmx.de. Dann schau ich mir die mal an.

Gruß
Holger

Re: Bei neuem Datensatz neues Blatt erzeugen
24.04.2003 11:10:20
Panicman

Hallo Carsten,

habe den Fehler gefunden. Das Problem war, das in deiner 1 Spalte Zahlen stehen (ich bin von Text ausgegangen). Wir haben immer den Blattnamen (String=Text) mit der Zelle(I,1) (in deinem Fall Zahl) verglichen. Excel konnte nicht merken, ob die beiden gleich sind. änder mal die Zeile:

If Sheets(II).Name = Cells(I, 1) Then
in
If Sheets(II).Name = Format(Cells(I, 1), "@") Then

Dann wird Text mit Text verglichen und alles klappt.

Gruß
Holger

P.S. wenn du lieber eine andere Spalte der Tabelle1 als Blattnamen willst, muß du dich noch mal melden.

Anzeige
Re: Bei neuem Datensatz neues Blatt erzeugen
24.04.2003 11:41:03
Carsten

Kleine Ursache, große Wirkung. Jetzt klappts.

Zu Deinem Angebot: Was müßte ich ändern um den Namen den Kunden als Blattnamen zu erhalten?

Gruß
Carsten

Re: Bei neuem Datensatz neues Blatt erzeugen
24.04.2003 11:51:47
Carsten

Hallo Holger,

hab's schon selber hingekriegt. Jetzt läuft's wie es soll.

Nochmal vielen Dank für Deine Hilfe.

Gruß
Carsten

Re: Bei neuem Datensatz neues Blatt erzeugen
24.04.2003 11:53:42
Panicman

Hallo Carsten,

nicht so viel:
in Makro1 (Tabelle1): von "If Target.Column <> 1 Then Exit Sub" auf "If Target.Column <> 2 Then Exit Sub" ändern, da 2 Spalte B ist.
in Makro2 (Modul): "Range("A65536").Select" in "Range("B65536").Select" ändern und bei allen cells(...) die 1 auf die 2 ändern.

also so:

Gruß
Holger

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige