Supportnet / Forum / Tabellenkalkulation
Schwer! sehr schwer!
Frage
Hallo alle zusammen.
ich habe unten zwei funktionierende Makros aufgeführt, die beide gleichzeitig per Button ausgelöst werden. Jetzt würde ich gerne ein neues Makro machen was jeweils die letzte Ausführung dieser Beiden Makros rückgängig macht. Oder eben die letzten eingefügten Daten löscht.
Für hilfe bin ich super dankbar.
grüße aus dem Siegtal
boris
Option Explicit
Sub Ranhaengen()
Dim zeile As Long
With ThisWorkbook.ActiveSheet
zeile = .Cells(.Rows.Count, 11).End(xlUp).Row
If zeile < 32 Then zeile = 32
If zeile = .Rows.Count - 1 Then
MsgBox ("Das Zeilenende wurde erreicht,die Daten wurden nicht kopiert !")
Else
.Cells(zeile, 11) = .Cells(26, 11)
.Cells(zeile, 12) = "Element " & zeile - 31
.Cells(zeile + 1, 11) = Application.WorksheetFunction.Sum(.Range("K32:K" & zeile))
.Cells(zeile + 1, 12) = "Gesamt"
End If
End With
End Sub
Private Sub CommandButton1_Click()
Call Ranhaengen
Call übertragneu
End Sub
Sub übertragneu()
'
' übertragneu Makro
' Makro am 14.08.2007 von Boris aufgezeichnet
'
' Tastenkombination: Strg+n
'
Range("F1:K26").Select
Range("F26").Activate
Selection.CopyPicture Appearance:=xlPrinter, Format:=xlPicture
Sheets("Tabelle2").Select
Range("A42").Select
ActiveSheet.Paste
Selection.ShapeRange.IncrementLeft 6.75
Range("K52").Select
ActiveWindow.SmallScroll Down:=9
Range("A42:J82").Select
Selection.Insert Shift:=xlDown
Range("A42").Select
Sheets("Deckblatt").Select
Range("D19").Select
End Sub
[*][sup][i]
*Threadedit* 14:59:34
Admininfo: Bitte beachte [u][url=https://supportnet.de/groupfaqs/3]FAQ 2[/url][/u] für deine nächste Anfrage.[/i][/sup]
Antwort 1 von SARP
Hallo boris,
wieso lässt du nicht vorher die registermappe kopieren
bevor du die verarbeiten lässt somit hast du noch die
originale daten ohne änderung.
Active.Woksheet.Copy After:=Sheets(1)
ActiveSheet.Name = "Originaledaten"
wieso lässt du nicht vorher die registermappe kopieren
bevor du die verarbeiten lässt somit hast du noch die
originale daten ohne änderung.
Active.Woksheet.Copy After:=Sheets(1)
ActiveSheet.Name = "Originaledaten"
Antwort 2 von bokap1975
Hallo SARP,
Du meinst vor jedem Ausführen des Makros eine Kopie erstellen und irgendwo zwischenspeichern falls die letzte Ausführung des Makros rückgängig gemacht werden soll.
Bei der Anwendung meiner Tabell mit den Makros kann es durchaus zu 20 oder auch mehr Ausführungen kommen. Wird da nicht irgendwann der Zwischenspeicher überlastet. Vor allem sind in meinem Tabellenblatt, was ich ja dann komplett kopieren müßte, ca 50 Optionsfelder und über 100 Wenndann andere Formel drin.
Meinst du so oder gibts da noch na andere Lösung.
viele grüße
boris
Du meinst vor jedem Ausführen des Makros eine Kopie erstellen und irgendwo zwischenspeichern falls die letzte Ausführung des Makros rückgängig gemacht werden soll.
Bei der Anwendung meiner Tabell mit den Makros kann es durchaus zu 20 oder auch mehr Ausführungen kommen. Wird da nicht irgendwann der Zwischenspeicher überlastet. Vor allem sind in meinem Tabellenblatt, was ich ja dann komplett kopieren müßte, ca 50 Optionsfelder und über 100 Wenndann andere Formel drin.
Meinst du so oder gibts da noch na andere Lösung.
viele grüße
boris

