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.

Makro
#1
Hallo,

ich bin mit meiner Tabelle noch nicht ganz zu frieden.

Da ich für meine Kunden (ca. 1000)  je Kunde ein Tabellenblatt benötige möchte ich diese nicht alle manuell erstellen.
Gibt es die Möglichkeit dies über ein Makro zu steuern.

Die Tabellenblätter sind fortlaufend nummeriert 1, 2, 3 usw.
Wenn ein Tabellenblatt für einen Kunden ausgefüllt und abgeschlossen ist, möchte ich über ein Steuerelement ein neues Blatt erstellen was die fortlaufende Nummerierung erhalten soll und hinter dem letzten eingefügt ist. Das Blanko Formular ist unter dem Tabellenblatt "Formular" hinterlegt.
Antworten Top
#2
Moin!
Dann will ich mal der Erste sein.
Ich habe mir mal eure(?) letzten Threads durchgelesen.
Zitat:ich bin mit meiner Tabelle noch nicht ganz zu frieden.

Das wäre ich auch nicht, und zwar ganz und gar nicht.
Was dort entwickelt wird, hat imo nichts mit einer "Datenbank" in Excel zu tun.

Gleichartige Daten(sätze) gehören in EIN Tabellenblatt.
Auswertung dann per Filter iVm Teilergebnis() oder Aggregat().
Oder per Spezialfilter oder Pivottabelle.
Oder per VBA-Datenmaske.
Oder per Formular-Tabellenblatt.
Stichworte: Dropdown, SVERWEIS(), Summewenn(s) und die diversen Ableitungen.

Man kann auch eine quasi-relationale Datenbank mit einigen wenigen Tabellen aufbauen, um Redundanzen zu minimieren.

Also alles, nur nicht eine Tabelle pro Datensatz.

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
#3
Hallo,

ich teile 100% die Ansicht von RPP63, aber um dem Forum noch viele Fragen für die Auswertung zu garantieren. Den folgenden Code habe ich heute für einen anderen Fragesteller geschrieben: wenn der Name des zu kopierenden Sheets angepasst wird und die Schleife nicht 3, sondern 1000 mal durchlaufen wird, sollte es die Frage hier beantworten.


Code:
Sub Sheet_erstellen()
With Sheets("Woche - Rohling")
   For i = 1 To 3
       .Copy after:=Sheets(Sheets.Count)
       ActiveSheet.Name = "Woche " & i
   Next i
End With
End Sub


mfg
Antworten Top
#4
Guten Morgen liebe Helfer,

leider habe ich mich gestern nicht richtig ausgedrückt. Denn ich glaube mit meiner Variante bin ich auf dem richtigen Weg.
Jedes Tabellenblatt ist recht umfassend und fungiert für den Kunden wie eine Rechnung. (Tabelle habe ich beigefügt)

Der Code in der letzten Antwort erstellt mir alle Tabellenblätter auf einmal. Ich hätte aber gern nach jedem abgeschlossenen Kelterschein über ein Steuerelement ein nächsten Kelterschein erstellt und geöffnet. Hierbei sollte die Nummer immer fortlaufend sein und wenn es geht vor also links neben der alten stehen.  Also      usw.,4,3,2,1,

Nach dem Ihr meine Tabelle jetzt besser kennt, würde ich mich freuen wenn Ihr mir schreibt ob meine Tabelle wirklich so falsch ist.

Gruß
Martin


Angehängte Dateien
.xlsx   Entwurf Kelterschein Annahmestellen.xlsx (Größe: 163,99 KB / Downloads: 14)
Antworten Top
#5
Hallo Martin

Achje, da könnte man ganze Romane schreiben.
Wenn das dein Ansatz ist dann ist es wesentlich einfacher eine professionelle Software zu kaufen oder einen professionellen Dienstleister zu beauftragen.
Das geht auf jeden Fall über eine einfache Forenhilfe hinaus.

Und weil so schön passt noch etwas Wein, Weib und Gesang.
:05:  Laola  :05:
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#6
Hallo Martin

wenn ich dich richtig verstanden habe soll immer das Blatt "10000" kopiert und umbenannt werden
in meinem Test habe ich in dem ausgeblendetem Blatt "10000" in Zelle W1 die Zahl 3 geschrieben
und dann diesen, vom Makrorekorder aufgezeichneten und bereinigten, Code laufen lassen
ist es das was du dir vorstellst?


Code:
Sub Makro1()
   Dim a As Long
   a = Sheets("10000").Range("w1").Value
   Sheets("10000").Copy after:=Sheets("Übersicht")
   With Sheets("10000 (2)")
       .Name = a
       .Visible = True
   End With
   Sheets("10000").Range("w1").Value = Sheets("10000").Range("w1").Value + 1
End Sub

MfG Tom
Antworten Top
#7
Hallo Tom,

das Makro macht noch nicht ganz das richtige.
Ich möchte, dass wenn ein Tabellenblatt/Kelterschein abgeschlossen ist über ein Makro ein neues öffnen.
(das macht Deins schon)
Das neue Tabellenblatt sollte nur die nächste Nummer tragen. Also wenn Tabellenblatt 1 abgeschlossen ist, dann
muss das nächste die Nummer 2 sein usw.. In W1 steht nur die Kelterscheinnummer. Diese stimmt nicht mit der Tabellenblattbezeichnung überein.

Bei meinem letzten Mal schrieb ich das neue Tabellenblatt sollte sich immer vor dem letzten stehen.
Das benötige ich doch nicht. Als fortlaufend nach links ist OK.

Gruß
Martin
Antworten Top
#8
Hallo Martin

irgendwo sollte die Nummer schon gespeichert sein
ob das nun im Blatt 10000 in Zelle W1 oder in irgendeinem anderen Blatt
in Zelle XYZ125 steht ist dabei schnurz
wo das neue Blatt gespeichert werden soll kannst du selbst bestimmen indem du
diese Zeile im Code

Sheets("10000").Copy after:=Sheets("Übersicht")

dementsprechend änderst

MfG Tom
Antworten Top
#9
Hallo nochmal

du solltest dir aber eher mal Gedanken machen, ob es überhaupt Sinn macht
für jeden Kunden ein Tabellenblatt zu erstellen
wenn du nachher an die 1000 Kunden eingetragen hast
und die Blätter umfangreich ausgefüllt sind
dann wird die Datei recht groß
und da dann auch noch zig Formeln enthalten sind
wird es dann wahrscheinlich eine gefühlte Ewigkeit dauern
bis sich die Datei öffnet und speichert

ich würde dann lieber die Datei nur für einen Kunden
oder nur für eine Bestellung als Kopie speichern

MfG Tom

btw jetzt geh ich Mittagsschlaf halten  :43: :43: :43:
Antworten Top
#10
Hallo,

ich schließe mich Tom's Argumentation vollumfänglich an.

Zitat:... ich würde dann lieber die Datei nur für einen Kunden oder nur für eine Bestellung als Kopie speichern

mit Eurer Variante programmiert Ihr Euch nur jetzt schon ohne jede Not den in der Zukunft liegenden Stress vor.
Ich stand auch mal vor einem solchen Problem und habe dann rechtzeitig alles zurückgefahren.
Euch wollte gerade Ähnliches wie Tom vorschlagen, ... aber Tom war schneller  :05:
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top


Gehe zu:


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