In Excel mit Visual Basic Zellen leeren

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Setz für denn Zellbereich doch einfach Value="" , damit leerst du nur den Inhalt, die Formatierungbbleibt aber erhalten.

Und wie spreche ich einen Zellbereich an?

0
@AquaMedium

Dim c As Range 'As Cell geht leider nicht

For Each c in Range(Zelle1, Zelle2)

c.Value = ""

Next

wobei Zelle1 die linke obere und Zelle2 die rechte untere Zelle ist, entweder in der Form (im Beipiel für Zelle C10)

"C10"

(mit den Anführungszeichen), oder in der Form

Cells(10, 3)
1
@PWolff

Super, vielen Dank!!

Weißt du zufällig, ob ich damit auch direkt zwei Bereiche leeren kann?

0

Zellen werden in Excel (anders als in der Mathematik) zuerst mit der Spaltenangabe adressiert. 2B gibt es nicht. Das heißt bei Excel B2.

Deine Aufgabe kannst du leicht mit der Makrofunktion lösen. Du musst nur noch ein If drumherum bauen. Bei mir sieht das so aus:

Sub ZellenLeeren()

'

' ZellenLeeren Makro

' Dim bMeineBedingung

 bMeineBedingung = True

 If bMeineBedingung Then

 Application.Goto Reference:="R2C2:R6C5"

 Selection.ClearContents

 With Selection.Interior

 .Pattern = xlNone

 .TintAndShade = 0

 .PatternTintAndShade = 0

 End With

 End If

End Sub

Wenn du nun pro Zelle eine Bedingung prüfen willst, musst du deinen Bereich durchackern:

Sub ZellenLeeren() ' ' ZellenLeeren Makro ' Dim rZelle As Range Application.Goto Reference:="R2C2:R6C5" For Each rZelle In Selection If rZelle.Value < 0 Then ' nur ein Beispiel rZelle.ClearContents With rZelle.Interior .Pattern = xlNone .TintAndShade = 0 .PatternTintAndShade = 0 End With End If Next End Sub

DH

Zum löschen NUR der Hintergrundfarbe reicht evtl. auch: 

rZelle.Interior.ColorIndex = xlColorIndexNone

1

Neben den hier genannten Möglichkeiten kannst du auch ein Makro aufzeichnen lassen.

Nachdem du die Aufzeichnung gestartet hast, markierst du einen Zellbereich und löschst die Inhalte.

Zuletzt beendest du die Aufzeichnung und schaust dir an, wie diese Aktion als Makro aussieht. Dieses Makro passt du dann an deine Bedürfnisse an.

Woher ich das weiß:Beruf – Software-Entwickler

Was möchtest Du wissen?