Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
924to928
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
924to928
924to928
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Gegenstück zu SpecialCells(xlCellTypeBlanks)?

Gegenstück zu SpecialCells(xlCellTypeBlanks)?
12.11.2007 10:39:00
Tino
Hallo,
gibt’s eigentlich ein Gegenstück zu SpecialCells(xlCellTypeBlanks)?
Beispiel leere Zellen Grau machen, nun möchte ich dass Gegenteil erreichen alle
anderen Zellen in Grau nicht die leeren.

Dim Zell As Range
For Each Zell In Cells.SpecialCells(xlCellTypeBlanks)
Zell.Interior.ColorIndex = 15
Next Zell


Gruss Tino

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gegenstück zu SpecialCells(xlCellTypeBlanks)?
12.11.2007 11:06:00
Andreas
Hallo Tino,
ein direktes Gegenstück dazu gibt es soweit ich weiß nicht, du könntest aber ja in einem ersten Schritt alle Zellen in der gewünschten Farbe markieren und dann die Farbe zurücksetzen für die leeren. Also bspw. so:
Dim Zell As Range
With ActiveSheet.Cells
.Interior.ColorIndex = 4
End With
For Each Zell In ActiveSheet.Cells.SpecialCells(xlCellTypeBlanks)
Zell.Interior.ColorIndex = xlNone
Next Zell
Evtl. das erste Einfärben nicht auf alle Zellen beziehen, sondern nur auf die UsedRange.
Viele Grüße
Andreas

AW: Gegenstück zu SpecialCells(xlCellTypeBlanks)?
12.11.2007 11:14:15
Tino
Hallo,
danke für deinen Beitrag
Dies mit der Farbe war nur ein Beispiel für die Verwendung.
Es könnte auch um eine Auswertung der Zellen gehen und ich dachte, sollte es ein Gegenstück geben,
wäre es möglich die belegten Zellen direkt anzusprechen ohne in einer Schleife zu Prüfen ob diese leer oder nicht leer ist.
Gruss
Tino

Anzeige
AW: Gegenstück zu SpecialCells(xlCellTypeBlanks)?
12.11.2007 11:17:35
Andreas
Hi Tino,
kann ich leider nicht beantworten, deshalb die Frage als offen markiert.
Grüße
Andreas

AW: Gegenstück zu SpecialCells(xlCellTypeBlanks)?
12.11.2007 11:42:07
Wolli
Hallo Tino, es gibt zwar kein "Gegenstück", aber
xlCellTypeConstants - Zellen mit Konstanten
xlCellTypeFormulas - Zellen mit Formeln
zusammengenommen müssten so ziemlich alles ergeben, was nicht "blanks" ist.
Gruß, Wolli

AW: Gegenstück zu SpecialCells(xlCellTypeBlanks)?
12.11.2007 12:07:00
Tino
Hallo,
wie könnte ich diese beiden in einer For Each Schleife zusammenführen?
Gruss
Tino

So:
12.11.2007 12:36:00
Wolli

Sub test()
Dim Zell As Range
With Range("A1:B10")
For Each Zell In Union(.SpecialCells(xlCellTypeFormulas), _
.SpecialCells(xlCellTypeConstants))
Zell.Interior.ColorIndex = 16
Next Zell
End With
End Sub


Gruß, Wolli

Anzeige
AW: So:
12.11.2007 12:43:29
Tino
Hallo,
danke für deine Hilfe, werde ich mal ausgibig Testen.
Gruss
Tino

AW: So:
12.11.2007 12:55:00
Tino
Hallo,
konnte deine Version so nicht anwenden, Fehler wenn Zellen Typ nicht vorhanden.
Konnte es jetzt nur so lösen.

Sub test()
Dim Bereich As Range, Zelle1 As String
If Not Cells.SpecialCells(xlCellTypeConstants) Is Nothing Then
Zelle1 = Cells.SpecialCells(xlCellTypeConstants).Address
ElseIf Not Cells.SpecialCells(xlCellTypeFormulas) Is Nothing Then
Zelle1 = Zelle1 & "," & Cells.SpecialCells(xlCellTypeFormulas).Address
End If
For Each Bereich In Range(Zelle1)
Bereich = "Neuer Eintrag"
Next Bereich
End Sub


Gibt es noch andere Möglichkeiten, die ohne vorherige Prüfung auskommen?
Gruss
Tino

Anzeige
geht auch nicht richtig
12.11.2007 13:06:15
Tino
Hallo,
kann mir einer weiterhelfen?
Gruss
Tino

so gehts, aber!
12.11.2007 15:13:00
Tino
Hallo,
habe es herausgefunden!
Für größere Tabellen könnte es vielleicht nützlich sein, aber für kleine na ich weis nicht.
Vielleicht bekommt es ja einer etwas besser hin?
Mit meinen VBA Kenntnisstand geht’s nur so.

Sub test()
Dim Bereich As Range, Zelle1 As String
On Error Resume Next
If Cells.SpecialCells(xlCellTypeConstants) Then
Zelle1 = Cells.SpecialCells(xlCellTypeConstants).Address
End If
If Cells.SpecialCells(xlCellTypeFormulas) Then
If Zelle1 > "" Then
Zelle1 = Zelle1 & "," & Cells.SpecialCells(xlCellTypeFormulas).Address
Else
Zelle1 = Cells.SpecialCells(xlCellTypeFormulas).Address
End If
End If
On Error GoTo 0
For Each Bereich In Range(Zelle1)
Bereich = "Neuer Eintrag"  'oder was auch immer
Next Bereich
End Sub


Gruss
Tino

Anzeige
AW: geht auch nicht richtig
12.11.2007 20:01:00
Daniel
Hi
hier noch ne Variante, die beiden Zellbereiche fehlerfrei zusammen zu führen, auch wenn einer davon leer ist:

Sub test()
Dim Bereich As Range
Dim Bereich1 As Range
Dim Bereich2 As Range
Dim Check As Integer
On Error Resume Next
Set Bereich1 = ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants)
Set Bereich2 = ActiveSheet.UsedRange.SpecialCells(xlCellTypeFormulas)
On Error GoTo 0
Check = -1 * (Bereich1 Is Nothing) - 2 * (Bereich2 Is Nothing)
Select Case Check
Case 0
Set Bereich = Union(Bereich1, Bereich2)
Case 1
Set Bereich = Bereich2
Case 2
Set Bereich = Bereich1
Case 3
MsgBox "Es gibt keine gefüllten Zellen"
End Select
If Check  3 Then Bereich.Interior.ColorIndex = 5
End Sub


Gruß, Daniel

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige