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

Makro für Schaltfläche (Löschen/Wiederherstellen)

Makro für Schaltfläche (Löschen/Wiederherstellen)
24.02.2004 19:38:56
Max K.
Hallo,
vielleicht gibt es ja eine Lösung, wie man perMakro einen ganzen Bereich über mehrere Zeilen nicht nur verschwinden, sondern auch wiederherstellen läßt.
Mit dem Verschwinden klappt es ja prima, aber wie geht es wieder zurück?
Da mir eine "Undo"-Funktion fehlt, frißt Excel bei jedem neuen Knopfdruck erneut den nunmehr aufgefüllten Bereich.
Die Zellen um die es geht: A85 bis K90. In dem Bereich befinden sich allerdings
auch Zellen mit Formeln.
Mein Makro sieht z.Zt. so aus:

Sub Zellen_löschen_wiederherstellen()
' Zellen_löschen_wiederherstellen Makro
' Makro am 24.02.2004 von . aufgezeichnet
Range("A85:K90").Select
Selection.Delete Shift:=xlUp
End Sub

Was muß da noch rein, damit bei erneutem Knopfdruck der Bereich wiederhergestellt wird (mit den Formeln)?
Im Voraus schon mal Dank für eure Hilfe.
Gruß
Max

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro für Schaltfläche (Löschen/Wiederherstell
24.02.2004 19:45:29
ChrisL
Hi Max
Rückgängig resp. Undo geht nicht wie du schon selber festgestellt hast.
a) eine Abfrage einbauen, "Wollen Sie wirklich löschen?"
b) vom Bereich erst eine Sicherheitskopie erstellen und dann ein quasi Undo-Makro erstellen.
Gruss
Chris
AW: Makro für Schaltfläche (Löschen/Wiederherstell
24.02.2004 20:22:22
Max K.
Hallo Chris,
vielen Dank für deine Antwort!
Ein weiterer Schalter ist allerdings für die Anwender der Tabelle schon zuviel.
Muß mal sehen wie ich eine einfache Lösung finde....
Gruß
Max
AW: Makro für Schaltfläche (Löschen/Wiederherstell
24.02.2004 22:32:31
Josef Ehrensberger
Hallo Max!
Probier mal das!


'######################################################################
'#              Zellen löschen mit Rückgängig - Funktion              #
'#               Benötigt wird ein CommandButton aus der              #
'#         Steuerelemente-Toolbox, mit dem Namen CommandButton1       #
'#                und der Beschriftung (Caption) "Löschen"            #
'######################################################################

'Allgemeines Modul (Modul1)################################
Option Explicit
Public varArr As Variant
'##########################################################

'Modul des Tabellenblattes#################################
Option Explicit
Private Sub CommandButton1_Click()
If CommandButton1.Caption = "Löschen" Then
varArr = Range("A85:K90").FormulaLocal
Range("A85:K90").Delete
CommandButton1.Caption = "Rückgängig"
Else
Range("A85:K90").FormulaLocal = varArr
CommandButton1.Caption = "Löschen"
End If
End Sub
'##########################################################

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp


Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.

(Sir Winston Churchill)


Anzeige
AW: Makro für Schaltfläche (Löschen/Wiederherstell
25.02.2004 20:27:30
Max K.
Hallo Sepp,
"Ein kluger Mann macht nicht alle Fehler selbst." Ich noch....;-))
Da meine Kenntnisse in VBA beschränkt sind, sieh dir bitte mal das Bild an. Soweit bin ich. Modul 1 sieht allerdings etwas "dünn" aus und beim Anklicken des Button wird der
"Range("A85:K90").Delete"-Eintrag gelb markiert.
Userbild
Was fehlt noch bzw. was muß ich noch eintragen?
Danke erstmal für deine Hilfe und deine Geduld!
Gruß
Max
AW: Makro für Schaltfläche (Löschen/Wiederherstell
25.02.2004 20:50:02
Josef Ehrensberger
Hallo Max!
Kann keinen Fehler entdecken!
Sind die Zellen vielleicht gesperrt und das Tabellenblatt gschützt?

Gruß Sepp


Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.

(Sir Winston Churchill)


Anzeige
AW: Makro für Schaltfläche (Löschen/Wiederherstell
25.02.2004 21:44:03
Max K.
Hallo Sepp,
im Original sind in dem Textbereich einige Zellen wegen Formelinhaltes gesperrt. Ich habe aber gerade mal ein völlig neues Tabellenblatt in dem Zellbereich beschriftet, Button eingefügt.
Es gibt den gleichen Fehler (s. Bild).
Userbild

Da ich heute früh in die Kiste muß :-)) kann ich dir leider erst morgen antworten, falls
dir noch etwas einfällt. Falls nicht, muß ich per Formeln einige Textpassagen mit WENN
ändern oder umschreiben. Man gönnt sich ja sonst nichts.
Ich darf mich bis hier schon mal bei dir bedanken und dir noch einen schönen Abend wünschen.
Gruß
Max
Anzeige
AW: Makro für Schaltfläche (Löschen/Wiederherstell
25.02.2004 22:46:50
Josef Ehrensberger
Hallo Max!
Ich kann den Fehler bei mir leider nicht reproduzieren,
der Code läuft problemlos!
Probier mal folgende Alternativen für die Zeile die die
Fehlermeldung verursacht.


Me.Range("A85:K90").Delete
'oder
Me.Range("A85:K90").Cells.Delete
'oder
Range("A85:K90").Clear
'oder
Range("A85:K90").ClearContents

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp


Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.

(Sir Winston Churchill)


Anzeige
AW: Makro für Schaltfläche (Löschen/Wiederherstell
26.02.2004 18:59:55
Max K.
Hallo Sepp,
vielen Dank für deine Hilfe und deine Geduld! Super!
Ich hoffe du bist nicht traurig, daß du damit (vorerst) einen Kunden weniger hast ;-))
Mit
Range("A85:K90").Clear
oder
Range("A85:K90").ClearContents
klappt es auch bei mir. Um ehrlich zu sein, "Clear" klingt auch schöner wie "Delete" :-))
So gut wie das Teil jetzt funktioniert, werde ich es mir als Muster gut weglegen.
Nochmals Danke und noch einen schönen Abend!
Gruß
Max
Danke für die Rückmeldung! o.T.
26.02.2004 19:07:55
Josef Ehrensberger
Gruß Sepp

Ein kluger Mann macht nicht alle Fehler selbst.
Er lässt auch anderen eine Chance.

(Sir Winston Churchill)


Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige