2013-01-18 3 views
6

ich Daten aus wie A1 haben: Z50, aber ich möchte nur A5 löschen: X50 VBA (Ich denke, es wird viel schneller sein als Ziehen Sie die ganze Zelle oder clickA5+shift+clickX50+delete). Wie kann ich das tun?VBA für einen klaren Mehrwert in spezifischen Bereich der Zell- und geschützten Zelle aus Wasch, weg Formel

Und dann, wie Sie die Zelle sperren, um zu verhindern, dass sie repariert oder gelöscht wird?

+3

Ihre Frage ist unklar. Bitte geben Sie an, was Sie mit "Wie verhindere ich das Löschen der Formel" – brettdj

+0

Ja, ich werde es addieren zuerst möchte ich nur löschen, aber jetzt sehe ich, dass meine Formel auch weg ist: D – eathapeking

Antwort

12

Sie könnten definieren ein Makro enthält den folgenden Code verwenden:

Sub DeleteA5X50() 
    Range("A5:X50").Select 
    Selection.ClearContents 
end sub 

Ausführen des Makro würde wählen Sie den Bereich A5: x50 auf dem aktiven Arbeitsblatt und löschen Sie den gesamten Inhalt der Zellen in diesem Bereich.

Um Ihre Formeln intakt Verwendung der folgenden anstatt zu verlassen:

Sub DeleteA5X50() 
    Range("A5:X50").Select 
    Selection.SpecialCells(xlCellTypeConstants, 23).Select 
    Selection.ClearContents 
end sub 

Dies wird wählen Sie zunächst den Gesamtbereich von Zellen, die Sie interessieren sich für das Löschen der Inhalte aus und wird dann weiter begrenzen die Auswahl nur Zellen enthalten, die enthalten, was Excel als "Konstanten" betrachtet.

Sie können dies manuell in Excel tun, indem Sie den Zellbereich auswählen, mit "f5" das Dialogfeld "Gehe zu" aufrufen und dann auf die Schaltfläche "Spezial" klicken und die Option "Konstanten" auswählen und klicken 'OK'.

+0

wird es Formel zu Recht löschen: D Wie verhindere ich die Formel zu löschen: 3 oder nein – eathapeking

+5

Weg @Glenn Sie müssen nicht wählen, es zu löschen :) 'Sheets (1) .Range. ("A5: X50") ClearContents' tun würde. – bonCodigo

+0

vielen dank für jede Hilfe – eathapeking

3

Versuchen Sie, diese

Sheets("your sheetname").range("A5:X50").Value = "" 

Sie auch

ActiveSheet.range 
+0

ändern Sie es einfach zu leere Zelle und auf ActiveSheet.Range was bedeutet es: D – eathapeking

+0

Sie auch ActiveSheet.Range verwenden können. ("A5: X50") Value = "" Was möchten Sie tun? Löschen oder leeren Sie es? – Niklas

+0

ich verstehe es jetzt: 3 danke ist es weg Zellenfarbe und Hintergründe waschen und Formel ist Zelle – eathapeking

2

Nicht sicher seine schneller mit VBA - der schnellste Weg, um es in der normalen Excel-Programm zu tun wäre:

  1. Ctrl-G
  2. A1:X50 Enter
  3. Delete

Es sei denn, Sie müssen Tun Sie dies sehr oft, Eingabe und dann Auslösen des VBA-Code ist mehr Aufwand.

Und wenn Sie nur Formeln oder Werte löschen möchten, können Sie Ctrl-G, Alt-S einfügen, um Gehe zu Spezial auszuwählen und hier Formeln oder Werte auszuwählen.

Verwandte Themen