Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Excelprogramm mit makro zurücksetzen

Forumthread: Excelprogramm mit makro zurücksetzen

Excelprogramm mit makro zurücksetzen
19.06.2025 11:18:27
UdPa
Hallo

Eine Frage an euch Experten, ich habe ein Excel Turnierprogramm mit sehr vielen Makros und Funktionen. Bis jetzt hab ich immer die Original datei kopiert und ein neues Turnier damit gestartet, sobald ich ein Turnier abgeschlossen habe, ist diese Datei dann wertlos, also ich kann mit der Datei kein neues Turnier mehr starten, da in allen feldern eben eingaben usw. sind.
Meine Frage gibt es eine Lösung das ich mit einen Makro die Tabelle auf Ursprung zurücksetze?

Wäre dankbar für Antworten.
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excelprogramm mit makro zurücksetzen
19.06.2025 11:41:07
Ulf
Hi,
trenne Datenhaltung und Präsentation:
Alle Makros in eine xlsm, die nur eventuell notwendige allgemeine Einstellungen enthält (ggf. auch in die personal.xlsb).
Den Tabellenaufbau steck in eine Datei ohne Makros und speichere sie als Vorlage. Für ein neues Turnier erstellt ein Makro dann lediglich eine
neue Datei auf Basis dieser Vorlage.
hth
Ulf
Anzeige
AW: Excelprogramm mit makro zurücksetzen
19.06.2025 13:48:12
Daniel
Naja, du musst dir Eingabefelder leeren
Dazu muss das Makro aber wissen, was Eingabefelder sind oder nicht.

Dazu gibt es mehrere Methoden.

- du kannst auf jedem Blatt die Eingabefelder einem Namen zuweisen (Eingabefelder_Blatt1) und dann mit
Range("Eingabefelder_Blatt1).ClearContents
gezielt diese Felder löschen (es braucht für jedes Blatt einen Namen

- du schreibst alle Felder, die nicht gelöscht werden sollen, als Formel. Dh ein Zellinhalt Überschrift muss als ="Überschrift" geschrieben werden.
Dann kannst du auf einem Blatt mit
Sheets("xxx").SpecialCells(xlcelltypeConstants).clearconstants
die Eingabezellen leeren, weil diese die einzigen Konstanten sind.

- du hinterlegt alle Eingabezellen mit einer bestimmen Farbe. Dann läufst du mit einer Schleife über alle genutzten Zellen des Tabellenblatts, fragst die Farbe ab und leerst ggf die Zelle.
for each Zelle in Sheets(???).usedrange.cells

If Zelle.Interior.Color = ??? Then Zelle.ClearContents
Next.


- du hinterlegst die zu löschenden Zellen hart im Code:
sheets(???).Range("A1,B2:F99,I2"). ClearContents

Der Adressstring enthält die Zelladressen der einzelnen Blöcke komma-Getrennt, so kannst du mehrere Bereiche gleizeitig ansprechen (entspricht Markierung mit STRG)

- du schreibst dir im Change-Event Makro einen Code, der auf einem weiteren Tabellenblatts hinterlegt, welche Zellen im Laufe des Turniers geändert wurden. Dann schreibst du ein weiteres Makro, dass dann diese Zellen löscht.
Dabei sollte aber sichergestellt sein, dass im Verlauf nur Eingabezellen geändert werden.

Gruß Daniel

Anzeige
AW: Excelprogramm mit makro zurücksetzen
19.06.2025 15:14:17
UdPa
Ok Vielen Dank

Ich dachte es gäbe einen "universalcode" der die mappe am anfang speichert und auf diesen Zeitraum wieder zurücksetzt

Vielen Dank LG
AW: Excelprogramm mit makro zurücksetzen
19.06.2025 15:55:38
Daniel
Dazu kannst du die Mappe ohne Speichern schließen und dann wieder neu öffen.
Ich würde einfach die unbenutzte Vorlage mit Schreibschutz versehen, so dass du beschriebene Exemplare immer nur unter einem anderen Namen speichern kannst.
Du kannst auch die unbenutzte Vorlage als xltm speichern.
Anzeige
AW: Excelprogramm mit makro zurücksetzen
19.06.2025 13:51:37
Daniel
Die einfachste Lösung dürfte sein:

Einmal von Hand alle Eingabezellen löschen, diesen Vorgang mit dem Recorder aufzeichnen und dieses Makro dann verwenden.

Gruß Daniel
AW: Excelprogramm mit makro zurücksetzen
19.06.2025 16:41:20
Piet
Hallo

höfliche Frage: - soll jedes Turnier gelöscht werden, oder willst du deine Turniere auch als Archiv speichern??
Falls ja, neues Sheet "Archiv" anlegen, wichtige Turnierdaten darin speichern, und dann die Eingaben löschen.
Ohne die Datei zu sehen können wir aber nur raten. Kannst du eine Beispieldatei hochladen??

mfg Piet
Anzeige
AW: Excelprogramm mit makro zurücksetzen
23.06.2025 20:45:40
Marc
ich empfehle hier vielleicht sogar arbeiten mit einer Datenbank

- Daten und Eingabe Daten sind getrennt
- Daten können jederzeit wieder Sichtbar gemacht werden
- Du kannst unendlich neue Turniere mit einer Datei laufen lassen
- Du kannst Auswertungen machen, (z.B. wer hat wie oft den 1. Platz gemacht, haben Tiere gleichen Namen und was es alles gibt)

Das ganze würde auch mit Excel als Datenpool funktionieren, wird aber mit der Zeit recht langsam

Wichtig ist die Trennung von Eingabe von Daten, Speichern von Daten und Auswertung von Daten

Hier würde z.B. auch eine UserForm in Frage kommen..


Da müsstest du dir Überlegen,
welche Daten /Informationen brauche ich bei jedem Turnier verpflichtend, welche sind optional

Darauf ausgehend, kann man sich überlegen, wie der Datenteil aussehen sollte (z.B. eine Tabelle mit dem Namen des Turniers und vielleicht ein Code für dieses Turnier, eine Tabelle mit den Teilnehmern , der Code des Turniers definiert die Zugehörigkeit des Tieres/Reiters für das Turnier, Eine Tabelle für die Platzierungen Turnier als ID, Reiter als ID Platz ) --> das jetzt mal nur eben ins blaue gedacht.. als Denkanstoß

In der UserForm werden zunächst alle bisher hinterlegen Turniere in einem Drop Down angezeigt, dann kannst du es laden, oder neues Turnier erstellen
Dann werden die beim Laden eines Turniers geladen und angezeigt, oder die Felder geleert, wenn du neues Turnier erstellst..




Anzeige
AW: Excelprogramm mit makro zurücksetzen
25.06.2025 20:16:37
Piet
...
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18