Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1524to1528
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
Inhaltsverzeichnis

Warum löscht es alles?

Warum löscht es alles?
19.11.2016 13:16:42
Ralf Bredenbeck

Mahlzeit zusammen,
ich habe eine Kurze Frage, ich habe die folgende Makro erstellt und bei der Ausführung haut es mir auch die Formeln raus und nicht nur die Werte.
Kann mir einer sagen woran dies liegt, denn im Netz finde ich nur immer ClearContents löscht nur Werte.

Sub Abrechnung_leeren()
With ActiveSheet
Range("A26:A32").ClearContents
Range("B26:O33").ClearContents
End With
End Sub
Ich weiß mir keinen Rat.
Danke schon vorweg
Gruß
Ralf

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Warum löscht es alles?
19.11.2016 13:24:48
Hajo_Zi
Hallo Ralf,
Löschen von Zellen
Rows(4).SpecialCells(xlCellTypeConstants, 23).ClearContents
Die 23 ist die Summe folgender Schalter
xlErrors 16
xlLogical 4
xlNumbers 1
xlTextValues 2

AW: Warum löscht es alles?
19.11.2016 13:25:47
MatthiasG
Hallo Ralf,
mit Inhalt ist sowohl Konstante als auch Formel gemeint.
Nicht gemeint sind Formatierungen, Kommentare usw.
So geht es aber:

Sub Abrechnung_leeren()
With ActiveSheet
Range("A26:A32").SpecialCells(xlCellTypeConstants).ClearContents
Range("B26:O33").SpecialCells(xlCellTypeConstants).ClearContents
End With
End Sub

Gruß Matthias
Anzeige
AW: Warum löscht es alles?
19.11.2016 13:37:25
Ralf Bredenbeck
Hallo Matthias,
ich habe es gerade eingepflegt und getestet. Es werden die Inhalte gelöscht und auch die Formeln bleiben, aber der meldet "Debuggen" und unterlegt die 1. Zeile
Was kann das sein
Gruß
Ralf
Warum?
19.11.2016 14:07:01
RPP63
Moin?
Kennst Du denn Deine Formelzellen nicht, also auch Deine Konstanten?
Warum also ein evtl. größerer Range??
By the way:
Wenn schon With-Klammer, dann auch mit Punkt vor Range.
Ist aber überflüssig denn Range ohne genauere Referenzierung betrifft immer das ActiveSheet!
Zwei Ranges kannst Du im Übrigen zusammenfassen:
Range("A26:A32,B26:O33")
Gruß Ralf
Anzeige
AW: Warum löscht es alles?
19.11.2016 14:21:26
Ralf Bredenbeck
Hallo Ralf,
da ich neu bin habe ich Dir einmal die Tabelle angefügt, vielleicht geht das besser.
Habe nicht genau verstanden was Du meinst:
Danke für deine Hilfe
Gruß
auch Ralf
https://www.herber.de/bbs/user/109551.xlsx
AW: Warum löscht es alles?
19.11.2016 14:26:42
RPP63
Ah, ein Kegelbruder! ;)
Warum machst Du Dir nicht einfach eine Vorlage mit allen Formeln ohne Werte und speicherst sie als .xltx
Makros brauchst Du dann keine.
Speichere sie im Vorlagenordner und öffne eine neue Liste per Datei, öffnen.
Gruß Ralf
AW: Warum löscht es alles?
19.11.2016 15:01:11
Gerd L
Hallo, sind wir im "Makro brauchst du keine" - Forum ? :-)
Gegen Range ohne Punkte = immer ActiveSheet bin ich irgendwie arrogant! :-)
https://www.herber.de/forum/messages/1524874.html
Sub Abrechnung_leeren()
Dim rngClear As Range
'Tabellenblatt anpassen
Set rngClear = Worksheets("Tabelle1").Range("A26:A32,B26:O33")
On Error Resume Next
rngClear.SpecialCells(xlCellTypeConstants).ClearContents
On Error GoTo 0
Set rngClear = Nothing
End Sub
Gruß Gerd
Anzeige
AW: Warum löscht es alles?
19.11.2016 15:13:58
Ralf Bredenbeck
Hallo Gerd,
habe gerade erst deine Version gesehen und eingesetzt. Funktioniert 100 %ig.
Vielen Dank
Gruß
Ralf
AW: Warum löscht es alles?
19.11.2016 15:36:19
Ralf Bredenbeck
Hallo GerdL
Ich habe deine Version eingesetzt und noch auf 2 weitere Zeilen erweitert.
Situation ist nun es werden die hinzugefügten Zeilen nicht gelöscht Zeile C34:34 und C38:O38, dort bleibt der durch die hinterlegte Formel errechnete Wert stehen , nur wenn ich dann oben in die Eingabe Zeile gehe, hinter die Formel und enter klicke berechnet die Formel neu und ich bekomme den Wert 0, weil ja alle Zellen leer sind.
Muss da jetzt noch was in die Makro eingefügt werden, das in allen Zellen die Formeln einmal aus geführt werden um dann die fertige Tabelle zubekommen.?
Ich hoffe Du weißt was ich meine.
Gruß
Ralf
Anzeige
AW: Warum löscht es alles?
19.11.2016 15:39:18
Ralf Bredenbeck
Hallo GerdL
nach dem leeren Rechnen die Formeln nicht mehr automatisch!
Sie stehen noch in der Eingabe-Zeile, aber sie errechnen nicht mehr.
Gruß
Ralf
AW: Warum löscht es alles?
19.11.2016 14:37:06
Ralf Bredenbeck
Hallo Ralf, bist Du auch ein Kegler?
Ich habe auch noch einen Kassenbeleg in der ganzen Abrechnung, die ist etwas komplexer darum brauch ich eine Makro, denn im dem Kassenbeleg werden die Werte gleich übertragen und schon ist die nächste Abrechnung dann vorbereitet.
Daher brauche ich die Makro
Gruß
Ralf
AW: Warum löscht es alles?
19.11.2016 14:49:50
RPP63
Jo, ist etwas länger her mit dem Kegeln, Ralf.
(Kneipensterben im Ruhrpott)
Zum Thema:
Der Fehler kommt, wenn die SpecialCells-Methode nichts findet.
Da gehört eine Fehlerbehandlung drumrum, z.B. so:
Dim Werte As Range
On Error Resume Next
Werte = Range("A26:A32,B26:O33").SpecialCells(xlCellTypeConstants)
If Err.Number = 0 Then Werte.ClearContents
On Error GoTo 0
Gruß Ralf
Anzeige
AW: Warum löscht es alles?
19.11.2016 15:10:52
Ralf Bredenbeck
Hallo Ralf,
danke erstmal, es funktioniert noch nicht richtig, ich probiere später noch weiter. Irgendwie läuft es noch nicht bekomme immer noch Debuggen.
Danke
Gruß
Ralf
AW: Warum löscht es alles?
19.11.2016 23:55:16
Piet
Hallo GerdL
nach meiner Ansicht müsste es auch ohne Werte funktionieren. Es sollte auch kein Debugg kommen. Einfach probieren.
mfg Piet
 Sub Abrechnung_leeren()
On Error Resume Next
Range("A26:A32,B26:O33").SpecialCells (xlCellTypeConstants)
On Error GoTo 0
End Sub

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige