Zellen löschen

Bild

Betrifft: Zellen löschen
von: Bernd
Geschrieben am: 29.11.2003 12:44:53

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
Bild


Betrifft: AW: Zellen löschen
von: GerdW
Geschrieben am: 29.11.2003 13:58:40

Hans nicht geteste, aber du verläßt die Schleife nach der ersten
grauen Zelle, ist das so gewollt?

Gerd


Bild


Betrifft: mein Irrtum, noch offen
von: GerdW
Geschrieben am: 29.11.2003 14:12:06

der Code ist schon ok.

Gerd


Bild


Betrifft: AW: Zellen löschen
von: DieterB
Geschrieben am: 29.11.2003 14:21:15

hallo Bernd,

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

Gruß

DieterB


Bild


Betrifft: AW: Zellen löschen
von: Berd
Geschrieben am: 29.11.2003 19:57:08

Ja, genau!


Bild


Betrifft: Andere Schleife...
von: Ramses
Geschrieben am: 29.11.2003 14:32:06

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


Bild


Betrifft: AW: Andere Schleife...
von: GerdW
Geschrieben am: 29.11.2003 15:12:43

Wenn verbundene Zellen über Zeilen vorhanden sind, geht das nicht!

Gerd


Bild


Betrifft: AW: Zellen löschen
von: GerdW
Geschrieben am: 29.11.2003 15:14:32

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


Bild


Betrifft: AW: Zellen löschen
von: Bernd
Geschrieben am: 29.11.2003 20:03:27

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.


Bild


Betrifft: So geht es mit verbundenen Zellen :-)
von: Ramses
Geschrieben am: 29.11.2003 21:13:52

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


Bild

Beiträge aus den Excel-Beispielen zum Thema " Zellen löschen"