Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
880to884
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
880to884
880to884
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Doppelte Versionierung verhindern

Doppelte Versionierung verhindern
29.06.2007 18:56:31
Salim

Hallo zusammen,
ich möchte in regelmässigen Abständen eine alte Version eines Tabellenblattes in der selben Arbeitsmappe anlegen. Dazu habe ich folgendes Makro gebastelt:

Sub Makro6()
Sheets("Abrechnungsplan").Select
Sheets("Abrechnungsplan").Copy Before:=ActiveSheet
Sheets("Abrechnungsplan (2)").Select
ActiveSheet.Name = Date
ActiveSheet.Shapes("Button 2").Select
Selection.Cut
ActiveSheet.Shapes("Button 1").Select
Selection.Cut
Cells.Select
Range("A525").Activate
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("A525").Select
End Sub


Ich würde gerne noch ein Befehl einbauen, der es verhindert, dass ich am selbem Tag zwei Versionen erstelle aus versehen. Also falls ein Tabellenblatt mit Datum heute schon vorhanden ist, sollte eine MsgBox erscheinen und die Ausführung unterbrochen werden.
Wäre für einen Feedback dankbar.
Gruss
Salim

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelte Versionierung verhindern
29.06.2007 22:33:27
Peter
Hallo Salim,
versuch es so:

Sub Makro6()
Dim WkSh  As Worksheet
For Each WkSh In ActiveWorkbook.Worksheets
If WkSh.Name = Date Then
MsgBox "Schon vorhanden"
Exit Sub
End If
Next WkSh
Sheets("Abrechnungsplan").Select
Sheets("Abrechnungsplan").Copy Before:=ActiveSheet
Sheets("Abrechnungsplan (2)").Select
ActiveSheet.Name = Date
ActiveSheet.Shapes("Button 2").Select
Selection.Cut
ActiveSheet.Shapes("Button 1").Select
Selection.Cut
Cells.Select
Range("A525").Activate
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("A525").Select
End Sub


Gruß Peter

Anzeige
AW: Doppelte Versionierung verhindern
03.07.2007 15:12:38
Salim
Vielen herzlichen Dank Peter, funktioniert hervorragend!
Ich habe versucht zusätzliche Ideen im Code einzubauen, mir fehlen aber gewisse Bausteine.....
Es sieht jetzt so aus:

Sub Versionierung()
Dim WkSh  As Worksheet
ActiveWorkbook.Unprotect
ActiveSheet.Unprotect
For Each WkSh In ActiveWorkbook.Worksheets
If WkSh.Name = Date Then
Sheets("Abrechnungsplan").Select
Cells.Select
Range("A525").Activate
Selection.Copy
    Sheets("29.06.2007").Select
Cells.Select
Range("A525").Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Exit Sub
End If
Next WkSh
Sheets("Abrechnungsplan").Select
Sheets("Abrechnungsplan").Copy Before:=ActiveSheet
Sheets("Abrechnungsplan (2)").Select
ActiveSheet.Name = Date
ActiveSheet.Shapes("Button 1").Select
Selection.Cut
Cells.Select
Range("A525").Activate
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Locked = True
Selection.FormulaHidden = False
ActiveSheet.Protect
Range("A525").Select
Sheets("Abrechnungsplan").Protect
ActiveWorkbook.Protect
End Sub


Das heisst, ich versuche hier folgendes zu machen:
Angenommen ich bin mit der Eingabe der Daten fertig:
Ich mache eine Version und der Tabellenblatt wird mit dem heutigen Datum bennant.
Falls ich noch zusätzliche Änderungen am selben Tag mache, möchte ich nicht eine Message Box wie von mir auch ursprünglich gedacht, die die Erstellung einer neuen Version unterbindet, sondern ich würde gerne die Werte im bereits erstellte Blatt (mit dem heutigen Datum als Name) ersetzten. Wie du im obigen Code erkennen kannst, weiss ich nicht wie ich auf diesen Blatt hinweise: habe die Zeile fett gemacht. Kannst du mir die veränderliche Bezeichnung sagen? vielen Dank.
Die nächste Frage wäre: ist dasüberhaupt möglich ein Makro so zu definierenm, dass man bei Auslösung eine Message Box hat, die heisst: Möchten Sie wirklich eine Version anlegen bzw. die bereits erstellte Version überschreiben: Falls Nein, Auslösung verhindern. Falls Ja, auslösen.
Vielen herzlichen Dank für die Unterstützung.
Gruss
Salim

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige