Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1304to1308
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 per VBA löschen

Zellen per VBA löschen
22.03.2013 08:21:02
Julia
Hi,
ich habe folgenden Code:
Sub CommandButton1_Klicken()
Dim x As Double, i As Double
ActiveSheet.Move before:=Sheets(1) 'setzt Actives Blatt an erste Stelle
x = 2
For i = 5 To Sheets.Count
With Sheets(i)
Cells(x, 1) = .Name
Cells(x, 3).Value = .Cells(58, 6)
Cells(x, 5).Value = .Cells(58, 7)
End With
x = x + 1
Next i
End Sub
Wie kann ich in den Zellen (x,1) bis (x,5)alle alten Daten löschen? Es kann halt vorkommen, dass im Laufe der Zeit Tabellenblätter gelöscht werden oder in andere Dateien kopiert werden und ich dann statt z.B. 10 Tabellenblättern nur noch 8 habe und nach klick auf den Button nun die ersten 8 Zeilen aktuell sind, aber danach immer noch die 2 alten stehen. Ab (x,6) kommen aber andere Daten die nicht gelöscht werden sollen.
Danke für die Hilfe.
VG Julia

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen per VBA löschen
22.03.2013 09:06:33
Oberschlumpf
Hi Julia
Was hältst du von der Idee, vorm Eintragen deiner neuen Werte erst mal den gesamten Datenbereich (nur da, wo neue Werte hinkommen) komplett zu leeren?
Da ich deine Datei nich kenne, kann ich nur eine Codeidee zeigen.
'dein vorheriger Code
x = 2
Range(Cells(x,1),Cells(x,Cells(x, Columns.Count).End(xlToLeft).Column).Value = ""
For i = 5 To Sheets.Count
'dein restlicher Code
Denn wenn alte Werte mit neuen Werten eh überschrieben werden, dann kannst du auch vorher den kompletten Datenbereich leeren.
Und wie gesagt. Es kann sein, dass meine Codezeile voll Murks macht - liegt dann aber daran, dass ich deine (Bsp-)Datei nich kenne.
Hilfts?
Ciao
Thorsten

Anzeige
AW: Zellen per VBA löschen
22.03.2013 09:11:59
Julia
Hi,
das geht leider nicht, da ich in Spalte 2 & 4 von jemanden anderen eine Auswahl treffen lasse. Hier meine Beipieldatei die ich für einen anderen thread gemacht habe: https://www.herber.de/bbs/user/84493.xlsm
Unter Tabelle "Kalkustand" wird von den Projektleitern eingetragen welche Spalte relevant ist. Wenn ich das überschreibe, müsste ich vorher immer alles abschreiben und dann neu eintragen. Daher wollte ich nur nicht mehr gebrauchte Zeilen löschen.
VG Julia

AW: Zellen per VBA löschen
22.03.2013 10:49:55
Daniel
Hi
probiers mal so:
Range(Cells(2, 1), Cells(1,1).End(xldown)).resize(, 5).ClearContents
oder so (dann sollte Spalte F aber immer leer sein)
Cells(1, 1).Currentregion.offset(1, 0).ClearContents
Gruß Daniel

Anzeige
AW: Zellen per VBA löschen
22.03.2013 11:01:28
Julia
Hi,
hatte mich bei der ersten Erklärung falsch ausgedrückt. Ich will nur die Zeilen löschen, die zuviel sind, weil es vorher mehr Tabellen gab. Problem an dem Code von dir ist, dass ich die Daten auch in den Zeilen lösche die bestehen bleiben und ich somit die manuellen Eingaben in Spalte B und D auch lösche.
Daher müssten wenn ich 8 Tabellen habe die in Teile 2-9 geschrieben werden die DAten erst ab Zeile 10 gelöscht werden. Wenn das nicht geht, müssten zumindest nur die Spalten gelöscht werden, die in meinem Code vorkommen (also A,C und E).
VG Julia

AW: Zellen per VBA löschen
22.03.2013 11:10:11
Daniel
Hi
dann probier mal am Ende des Codes:
if Cells(x, 1) "" then Range(Cells(x, 1), Cells(x - 1, 1).End(xldown)).resize(, 5).ClearContents
Gruß Daniel

Anzeige
AW: Zellen per VBA löschen
22.03.2013 11:17:35
Julia
Hi,
super das klappt. Kannst du mir bitte den Code noch erklären?
Danke.
VG Julia

AW: Zellen per VBA löschen
22.03.2013 11:27:52
Daniel
der erste teil sollte selbsterklärend sein.
END(xlDown) bewirkt im Prinzip das gleiche, wie wenn du eine Zelle markierst, dann die ENDE-Taste und dann Pfeil-runter drückst.
damit selektiere ich alle Zellen, die nach dem letzen x noch befüllt sind.
die Resize-Funktion erweitert dann den so markieren Zellbereich auf 5 Spalten.
Gruß Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige