Das Clever-Excel-Forum.de - Treffen
findet vom 15. - 17. September 2017 in Thüringen / Region Großer Inselsberg statt. Hotelbuchung ab sofort möglich.


Zellen formatieren
#1
Hallo Leute

XL2003 und XL2007

mit diesem Code formatiere ich Zellen nach ihrem Inhalt

Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rngBereich As Range, rngZelle As Range
    Set rngBereich = [C14:G40]
    For Each rngZelle In Range(Target.Address)
        If Not Intersect(rngZelle, rngBereich) Is Nothing Then
            With rngZelle
                Select Case UCase(.Value)
                    Case Is < 14, "TEST"
                        .Interior.ColorIndex = 3
                    Case Is > 50
                        .Interior.ColorIndex = 5
                    Case 14 To 21
                        .Interior.ColorIndex = 6
                    Case Else
                        .Interior.ColorIndex = xlNone
                End Select
            End With
        End If
    Next rngZelle
    Set rngBereich = Nothing
End Sub

bei allen Eingaben die eine Zahl sind oder das Wort "Test" funktioniert es
aber bei jeder anderen Buchstabenkombination nimmt er immer die
Formatierung von Case Is > 50
wie kann man das abfangen?

MfG Tom
to top
#2
Hallo Tom,

versuchs mal so

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rngBereich As Range, rngZelle As Range
    Set rngBereich = [C14:G40]
    For Each rngZelle In Range(Target.Address)
        If Not Intersect(rngZelle, rngBereich) Is Nothing Then
            With rngZelle
                If UCase(.Value) = "TEST" Then
                    .Interior.ColorIndex = 3
                ElseIf IsNumeric(.Value) Then
                    Select Case UCase(.Value)
                        Case Is < 14
                            .Interior.ColorIndex = 3
                        Case Is > 50
                            .Interior.ColorIndex = 5
                        Case 14 To 21
                            .Interior.ColorIndex = 6
                        Case Else
                            .Interior.ColorIndex = xlNone
                End Select
                End If
            End With
        End If
    Next rngZelle
    Set rngBereich = Nothing
End Sub
Gruß Stefan
Win 7 / Office 2007
to top
#3
Hallo Tom,

ich hätte bei Zahlen auch nur Zahlen verglichen.
Code:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rngBereich As Range, rngZelle As Range
    Set rngBereich = [C14:G40]
    For Each rngZelle In Range(Target.Address)
        If Not Intersect(rngZelle, rngBereich) Is Nothing Then
            With rngZelle
                If IsNumeric(rngZelle) Then
                    Select Case UCase(.Value)
                        Case Is < 14
                            .Interior.ColorIndex = 3
                        Case Is > 50
                            .Interior.ColorIndex = 5
                        Case 14 To 21
                            .Interior.ColorIndex = 6
                        Case Else
                            .Interior.ColorIndex = xlNone
                    End Select
                Else
                    Select Case UCase(.Value)
                        Case "TEST"
                            .Interior.ColorIndex = 3
                        Case Else
                            .Interior.ColorIndex = xlNone
                    End Select
                End If
            End With
        End If
    Next rngZelle
    Set rngBereich = Nothing
End Sub
GrußformelHomepage
to top
#4
Hallo Hajo, Hallo Stefan

Dank an Euch beide, funktioniert perfekt

Schönes Osterwochenende noch

MfG Tom

PS. finde nix womit ich das Thema abschließen kann
to top


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  CSV Datei in bedruckbares Format formatieren? justanil 1 58 03.12.2016, 01:30
Letzter Beitrag: Kuwer
  Texte aus Datenbank formatieren thairicci 3 91 24.11.2016, 17:13
Letzter Beitrag: snb
  "Maximaler Wert" tauglich für Pivot formatieren Manu298 7 112 23.11.2016, 15:49
Letzter Beitrag: Manu298
  Formatieren von einem Bereich andresued 5 77 18.11.2016, 08:29
Letzter Beitrag: andresued
  Zellen formatieren mit Einheit und automatischer Umrechnung lockesn 2 92 28.10.2016, 12:52
Letzter Beitrag: schauan
  Markieren und Formatieren von Flächen JEW-T 2 112 14.09.2016, 17:50
Letzter Beitrag: Fennek
  Diagramm formatieren hisid1 5 171 10.09.2016, 15:37
Letzter Beitrag: Käpt'n Blaubär
  Bedingte Formatierung - best. Wochentage formatieren schaluppi 2 165 01.09.2016, 08:49
Letzter Beitrag: schaluppi
Wink Diagramme automatisch formatieren Alexandros 8 397 30.08.2016, 09:01
Letzter Beitrag: Kuwer
  Bedingtes Formatieren auf Inhalt einer Zelle beziehen suschi1982 7 276 27.07.2016, 16:06
Letzter Beitrag: steve1da

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste