Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1384to1388
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

Zellen clearen

Zellen clearen
05.10.2014 17:11:48
Peter

Hallo,
ich habe folgenden Code:

Sub Fakeslöschen()
' Fakeslöschen Makro
Sheets("Fakes").Select
Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Range("A2").Select
Sheets("Tabelle2").Select
End Sub

Dieser soll alle Zellen "clearen", denn ich kopiere in dem Tabellenblatt "Fake" immer Daten untereinander. Lösche ich diese Zellen dann lediglich, wird danach nicht wieder in A2 angefangen einzufügen, sondern dort wo vorher die letzte belegte Zeile gewesen ist.
Also Lösche ich einfach alle Zeilen.
Dadurch werden jedoh auch sämtliche Formelbezüge auf das Tabellenblatt "Fake" gelöscht und es treten dann #Bezug Fehler auf.
Ich möchte also das Datenblatte "Fake" ab A2 so löschen, dass danach wieder beim neuen reinkopieren, ab A2 untereinander eingefügt werden kann und eben nicht ab beispielsweise der letzten belgten Zeile A150 :-)
Habt Ihr eine IDee?
Grüße
Peter

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen clearen
05.10.2014 17:34:57
Gerd L
Hallo Peter!
Sheets("Fakes").UsedRange.Offset(1).ClearContents
Gruß Gerd

AW: Zellen clearen
05.10.2014 17:59:40
Peter
Hallo Gerd,
damit passiert genau das gleiche. Die Zellen werden geleert,
das Tabellenblatt ist danach bis auf die erste Zeile leer.
Jedoch werden danach wieder ab der letzten leeren Zeile die Daten reinkopiert.
Die vorher belegten Zellen bleiben leer.

AW: Zellen clearen
05.10.2014 18:06:47
Hajo_Zi
du hast schon gesichert nach dem Löschen?

AW: Zellen clearen
05.10.2014 18:53:40
Gerd L
Hallo Peter!
Jedoch werden danach wieder ab der letzten leeren Zeile die Daten reinkopiert.
Die vorher belegten Zellen bleiben leer.

Meine Codezeile leert die Inhalte ab (normalerweise) Zeile 2 u. macht sonst nichts.
Wie sieht dein Code zum erneuten Füllen des Blattes "Fakes" aus?
Gruß Gerd

Anzeige
AW: Zellen clearen
06.10.2014 07:47:37
Peter
Entschuldigt, komme jetzt erst wieder dazu zu antworten:
So sieht der Code zum kopieren aus:
Sub fakekopieren()
Application.ScreenUpdating = False
letztezeile = Sheets("Burgenlink Bd 5").UsedRange.SpecialCells(xlCellTypeLastCell).Row
letztezeileFake = Sheets("Fakes").UsedRange.SpecialCells(xlCellTypeLastCell).Row
Range("A1:H" & letztezeile).Copy
Worksheets("Fakes").Range("A" & letztezeileFake + 1).PasteSpecial Paste:=xlValues
Application.ScreenUpdating = True
End Sub
Die Formel im Reiter "fake" steht in H1. Sonst sind ab Zeile 2 nur absolute Werte rein kopiert.

Anzeige
AW: Zellen clearen
06.10.2014 10:58:34
Daniel
Naja, so wie ich dir bereits in meinen ersten Beitrag geschrieben habe.
Du musst eine andere Methode zum Ermitteln der letzten befüllte Zeile verwenden.
Nicht
letztezeileFake = Sheets("Fakes").UsedRange.SpecialCells(xlCellTypeLastCell).Row
Sondern
letztezeileFake = Sheets("Fakes").cells(rows.count, 1).end(xlup).Row
Gruß Daniel

AW: Zellen clearen
06.10.2014 12:35:32
Peter
Daniel,kann ich dich auch mal persönlich anschreiben?
Würde Dir gern mal die Datei zeigen, welche ich hier mühsam zusammen bastel:-/
Grüße
Peter

Anzeige
AW: Zellen clearen
06.10.2014 12:55:25
Daniel
Hi
Du kannst die Datei hier hoch laden und sie uns allen zeigen.
Ich wüsste jetzt aber nicht, was daran so schwer sein sollte, diese Programmzeile abzuändern.
Wenn das mehrfach im Code vorkommt oder der Code länger ist, dann hilft dir ja die Suchfunktion des Editors, die entsprechen Stellen im Code zu finden.
Gruß Daniel

AW: Zellen clearen
06.10.2014 14:28:14
Peter
Hallo Daniel,
vielen Dank für Deine Geduld:-)
Habe es nun so eingerichtet und es funktioniert wunderbar.
Grüße
Peter

AW: Zellen clearen
05.10.2014 18:23:59
Daniel
Hi
Ich vermute mal, dass du die letzte belegte Zeile mit UsedaRange oder Specialcells(xlcelltpelastcell) ermittelt.
Das Problem ist, dass diese Werte nicht sofort angepasst werden, wenn du Zellinhalt mit .Clear löscht, sondern nur mit .Delete, welches dir aber die Formeln zerstört.
Ich würde hier die Zellen weiterhin mit .Clear löschen und dann die letzte benutzte Zeile mit Cells(Rows.Count, 1).End(xlup) ermitteln.
Das End(xlup) orientiert sich nur am Inhalt der Zellen.
Zum löschen also (und bitte ohne die Selects)
Sheets("Fakes").Usedrange.offset(1, 0).Clear
Kopieren, Einfügen und ermitteln der letzten Zeile dann so
Sheets(???).Range(???).Copy
With Sheets("Fakes")
.cells(.Rows.count, 1).end(xlup).Offset(1, 0).pastspecial xlpasteall
End with
Gruß Daniel

Anzeige
AW: Zellen clearen
06.10.2014 08:52:55
Peter
Nach dem Löschen werden die neuen Inhalte nachwievor an die letzte vorher belegte Zelle kopiert.
Wenn ich nur ein bestimmte Anzahl von Zellen löschen müsste, würde das evtl. funktionieren.
Also A2-a1000 zum Beispiel

AW: Zellen clearen
06.10.2014 09:04:11
Daniel
Nein, du musst die Methode zum Ermitteln der letzten befüllten Zeile ändern.
Wie du das machen kannst, steht ja in meinem Beitrag.
Wenn du den nicht verstehst, und du konkrete Hilfe beim erstellen des Code brauchst, dann solltest du deinen Code hier zeigen und zwar den Teil, mit dem du die neuen Werte im Blatt Fakes einfügst.
Gruß Daniel

AW: Formeln ändern
05.10.2014 18:37:15
Daniel
Du kannst alternativ auch alle Zellbezüge auf das Blatt Fakes so gestalten, dass sie sich entweder nur auf die Zeile 1 beziehen (denn die bleibt ja stehen), oder immer auf die ganze Spalte (A:A). Da du ja nie die ganze Spalten löscht, bleiben dies Zellbezüge erhalten.
Ob das Sinnvoll ist, hängt aber auch von den Inhalten und deinen Formeln ab. Bei Matrixformel könnten Zellbezüge auf ganze Spalten problematisch sein.
Zellbezüge auf bestimmte Zeilen könntest du aber auch über die Index-Funktion realisieren:
Absolut: =Index(Fakes!$A:$A;100)
Relativ: =Index(Fakes!A:A;Zeile()+1)
Das hätte auch den Vorteil, dass hier die Formeln auch dann erhalten bleiben, falls du mal aus versehen im Blatt Fakes die Zeilen von Hand löscht.
Gruß Daniel

Anzeige
AW: Formeln ändern
06.10.2014 07:51:13
Peter
Moin Daniel,
bei den Zellbezügen handelt es sich um eine Karte.
Heißt in Spalte E + F sind x und y Koordinaten als absolute Werte und Zahlen vorhanden.
Diese X-Y Koordinaten lasse ich in ein xy-Diagramm darstellen. Werden also alle Zeilen gelöscht, so ist der Zellbezug aus dem Diagramm ebenso gelöscht.
Ich bin im Internet leider auch noch nicht fündig geworden, ob es ein Befehl gibt, der das "Löschen der Zeilen" mit einem echten "clearen" ersetzen kann.

AW: Formeln ändern
06.10.2014 08:51:05
Peter
Noch eine Idee.
Wenn ich nur die Zeilen A2-A1000 löschen müsste, dann würde die Formel erhalten bleiben.

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige