Excel Zelle löschen aber nur Inhalt der Zelle !

Hallo,

ich habe einen Code geschrieben um bis zu 4 Bilder zu löschen, das klapt auch, und zusätzlich soll noch der Inhalt von 4 zellen gelöscht werden, weil dort der name der Bilddatei steht. Mit meinem Code (?) wird aber die komplette zelle gelöscht, nicht der Inhalt.
Gruss Jürgen

Sub Bilder_löschen()
Dim bytBild As Byte
Dim zeile As String
zeile = 28
Dim RaBereich As Range
? Set RaBereich = Range(„D28,D52,D76,D100“)
? For bytBild = 1 To 4
? ActiveSheet.Cells(zeile, 4) = „“
? zeile = zeile + 24
Next bytBild
Dim shpBild As Shape
On Error GoTo Ende
Application.ScreenUpdating = False
For Each shpBild In ActiveSheet.Shapes
If shpBild.Type = msoPicture Or shpBild.Type = msoGroup Then
shpBild.Delete
End If
Next
Ende:
Application.ScreenUpdating = True

End Sub

Hallo Jürgen,

Mit meinem Code (?) wird aber die komplette zelle
gelöscht, nicht der Inhalt.

mit

ActiveSheet.Cells(zeile, 4) = „“

setz nämlich den zellen inhalt auf leer (nichts),
ist nicht das gewünschte ergebniss???

code zum zellen löschen siehe hier.

gruß fred

Grüezi Juergen

Mit meinem Code (?) wird aber die komplette zelle
gelöscht, nicht der Inhalt.

Dein Code schreibt einen leeren String in die Zelle und löscht so deren Inhalt - die Zelle selbst wird nicht gelöscht.

Vielleicht ist folgendes etwas direkter?

ActiveSheet.Cells(zeile, 4).ClearContents

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Jürgen,

bei mir lösch dein Code nur dieInhalte bzw. schreibt Leerstringsrein.

Allerdings sollte man Zahlen auch als solche deklarieren (Long oder Double) und nicht als String - in deinem Fall „Zeile“.

Auch die folgende Anpassung funktioniert.

Gruß
Franz

Sub Bilder\_löschen()
 Dim bytBild As Byte
 Dim RaBereich As Range

 Set RaBereich = Range("D28,D52,D76,D100")
 RaBereich.ClearContents

 Dim shpBild As Shape
 On Error GoTo Ende
 Application.ScreenUpdating = False
 For Each shpBild In ActiveSheet.Shapes
 If shpBild.Type = msoPicture Or shpBild.Type = msoGroup Then
 shpBild.Delete
 End If
 Next
Ende:
 Application.ScreenUpdating = True

End Sub

Hallo,

Versuche es doch mit folgender Code Zeile:

ActiveSheet.Cells(zeile, 4).activate
ActiveSheet.Cells(zeile, 4) = empty

VG

Christian

Hallo,
will man nur den Inhalt einer Zelle löschen, nimmt man
ClearContents

z.B. Range(„A1:B9“).ClearContents

Hier wird nur der Zelleninhalt gelöscht, Die Zellen bleiben aber bestehen.

Gruß
Jürgen D.

Hallo

Range(„D28“).Select die entsprechende Position
Selection.ClearContents

Sonst mal ganzen Code senden.

[email protected]

Gruss keymax

Hallo echojuergen,

evtl. könnte es daran liegen dass der Befehl
shpBild.Delete besser so funktioniert
shpBild.ClearContents

Gruß Hugo

Hallo Jürgen
tabelle1.cells(1,2)=""
wäre eine möglichkeit oder:
range(„A3“).select
selection.delete
wäre die 2. Möglichkeot.
Grüsse sebastian

Sorry - da kann ich Dir leider nicht weiterhelfen.
Gruß,
Ptonka