Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
344to348
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
344to348
344to348
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellen löschen

Zellen löschen
29.11.2003 12:44:53
Bernd
Hallo,

habe eine Tabelle erstellt die auch Berechnungen ausführt. Wollte dann die grau unterlegten Felder löschen lassen um ein "frische" Eingabe durchführen zu können:


Sub Graue_Zellen_löschen()
Dim Bereich As Range
Dim iCol As Byte, lngRow As Long
Set Bereich = ActiveSheet.UsedRange
For lngRow = Bereich.Rows.Count To 1 Step -1
For iCol = 1 To Bereich.Columns.Count
If Cells(lngRow, iCol).Interior.ColorIndex = 15 Then
Rows(lngRow).ClearContents
Exit For
End If
Next iCol
Next lngRow
End Sub


Leider funzt das nicht, weil ich auch verbundene Zellen im Dokument habe.

Gibts da Alternativen? Bitte helft mir!!!

Danke

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen löschen
29.11.2003 13:58:40
GerdW
Hans nicht geteste, aber du verläßt die Schleife nach der ersten
grauen Zelle, ist das so gewollt?

Gerd
mein Irrtum, noch offen
29.11.2003 14:12:06
GerdW
der Code ist schon ok.

Gerd
AW: Zellen löschen
29.11.2003 14:21:15
DieterB
hallo Bernd,

bekommst Du eien Fehlermedung?
In etwa: Kann Teil einer verbundenen Zelle nicht änder?

Gruß

DieterB
AW: Zellen löschen
29.11.2003 19:57:08
Berd
Ja, genau!
Andere Schleife...
29.11.2003 14:32:06
Ramses
Hallo

probier mal das, da entfällt die direkte Adressierung

Option Explicit


Sub Graue_Zellen_löschen()
Dim Bereich As Range, myC As Range
Set Bereich = ActiveSheet.UsedRange
For Each myC In Bereich
If myC.Interior.ColorIndex = 15 Then
Rows(myC.Row).ClearContents
End If
Next
End Sub


Gruss Rainer
Anzeige
AW: Andere Schleife...
29.11.2003 15:12:43
GerdW
Wenn verbundene Zellen über Zeilen vorhanden sind, geht das nicht!

Gerd
AW: Zellen löschen
29.11.2003 15:14:32
GerdW
Am einfachsten, du hebts den Verbund am Anfang des Codes auf und
setzt ihn am Ende wieder.
Verbundene Zellen sind der natürliche Feind der VBA- Programmierung.

Gerd
AW: Zellen löschen
29.11.2003 20:03:27
Bernd
Danke für den Tip, glaube daran lags: Die verdammten verbundenen Zellen. Brauche sie aber wegen langen Texten und so. Umformatierungstips im Menü "Zellen formatieren" helfen aber nicht, zumindest für meine Zwecke. Habs jetzt anstatt clear.contents einfach mal mit ="" versucht. Hat geklappt.

Vielen Dank für Eure Tips! V.a. das mit den verbundenen Zellen.
Anzeige
So geht es mit verbundenen Zellen :-)
29.11.2003 21:13:52
Ramses
Hallo

nimm diesen Code, der macht das:

Option Explicit


Sub Graue_Zellen_löschen()
Dim Bereich As Range, myC As Range, my2c As Range
Dim mySelArea As Range, oldSelArea As String
Dim fRow As Long, lRow As Long
Set Bereich = ActiveSheet.UsedRange
For Each myC In Bereich
fRow = 0
lRow = 0
myC.UnMerge
oldSelArea = Selection.Address
If InStr(1, oldSelArea, ":") > 0 Then
Set mySelArea = Range(oldSelArea)
fRow = ActiveCell.Row
For Each my2c In mySelArea
If my2c.Row > lRow Then
lRow = my2c.Row
Debug.Print lRow
End If
Next
End If
If myC.Interior.ColorIndex = 15 Then
If lRow = 0 Then
Rows(myC.Row).ClearContents
Else
Debug.Print "delete"
Rows(fRow & ":" & lRow).ClearContents
Range(oldSelArea).Select
Selection.Merge
End If
End If
Next
End Sub


Gruss Rainer
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige