Thema Datum  Von Nutzer Rating
Antwort
08.06.2018 16:27:17 Rebecca
NotSolved
Blau step by step
08.06.2018 18:09:31 Gast45230
NotSolved
10.06.2018 14:32:55 Gast73283
NotSolved
10.06.2018 18:25:58 Rebecca
NotSolved
10.06.2018 19:34:30 Gast45230
Solved
11.06.2018 09:04:15 Rebecca
Solved

Ansicht des Beitrags:
Von:
Gast45230
Datum:
08.06.2018 18:09:31
Views:
553
Rating: Antwort:
  Ja
Thema:
step by step
Sub PaintIt()
Const C_Sheet As String = "Tabelle1"
Const C_StartAdrress As String = "A1"

Dim oWsh As Excel.Worksheet
Dim oRange As Range, oRow As Range, oCell As Range

   Application.ScreenUpdating = False
   
   'the sheet
   Set oWsh = ThisWorkbook.Sheets(C_Sheet)

   'the matrix
   With oWsh
      Set oRange = .Range(.Range(C_StartAdrress), .Range(C_StartAdrress).Offset(39, 39))
      With oRange.Interior
        .Pattern = xlNone
        .TintAndShade = 0
        .PatternTintAndShade = 0
      End With
      For Each oRow In oRange.Rows
         For Each oCell In oRow.Cells
            'PaintIt
            Select Case oCell.Value
            'Alle Werte <0,2 (grün), 2. Alle Werte zwischen 0,2 und 0,35 (gelb), 3. Alle Werte zwischen 0,35 und 0,5 (orange) und 4. Alle Werte >= 0,5 (rot).
               Case Is < 0.2
                  oCell.Interior.Color = 5287936
               Case Is >= 0.5
                  oCell.Interior.Color = 255
               Case 0.2 To 0.35
                  oCell.Interior.Color = 65535
               Case Else
                  oCell.Interior.Color = 49407
            End Select
         Next oCell
      Next oRow
   End With
   Set oWsh = Nothing
   Application.ScreenUpdating = True
   
End Sub

Sub AssignIt()
Const C_Sheet As String = "Tabelle1"
Const C_StartAdrress As String = "A1"

Dim oWsh As Excel.Worksheet
Dim oRange As Range, oRow As Range, oCell As Range
Dim rngGreen As Range, rngYellow As Range, rngOrange As Range, rngRed As Range
Dim x As Long

   Application.ScreenUpdating = False
   
   'the sheet
   Set oWsh = ThisWorkbook.Sheets(C_Sheet)

   'the matrix
   With oWsh
      Set oRange = .Range(.Range(C_StartAdrress), .Range(C_StartAdrress).Offset(39, 39))
      
      For Each oRow In oRange.Rows
         'ClearIt
         Set rngGreen = Nothing
         Set rngYellow = Nothing
         Set rngOrange = Nothing
         Set rngRed = Nothing
         For Each oCell In oRow.Cells
            'CollectIt
            Select Case oCell.Value
            'Alle Werte <0,2 (grün), 2. Alle Werte zwischen 0,2 und 0,35 (gelb), 3. Alle Werte zwischen 0,35 und 0,5 (orange) und 4. Alle Werte >= 0,5 (rot).
               Case Is < 0.2
                  If Not rngGreen Is Nothing Then
                     Set rngGreen = Union(rngGreen, oCell)
                  Else
                     Set rngGreen = oCell
                  End If
               Case Is >= 0.5
                  If Not rngRed Is Nothing Then
                     Set rngRed = Union(rngRed, oCell)
                  Else
                     Set rngRed = oCell
                  End If
               Case 0.2 To 0.35
                  If Not rngYellow Is Nothing Then
                     Set rngYellow = Union(rngYellow, oCell)
                  Else
                     Set rngYellow = oCell
                  End If
               Case Else
                  If Not rngOrange Is Nothing Then
                     Set rngOrange = Union(rngOrange, oCell)
                  Else
                     Set rngOrange = oCell
                  End If
            End Select
         Next oCell
         
         '***************************************************************************
         'ForFurtherUse
         Debug.Print rngGreen.Address
         Debug.Print WorksheetFunction.Min(rngGreen), WorksheetFunction.Max(rngGreen)
         Debug.Print WorksheetFunction.Median(rngGreen)
         'WorksheetFunction.Quartile Method
         For x = 0 To 4
            Debug.Print WorksheetFunction.Quartile(rngGreen, x)
         Next x
         '***************************************************************************
      
      Next oRow
   End With
   Set oWsh = Nothing
   Application.ScreenUpdating = True
   
End Sub


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
08.06.2018 16:27:17 Rebecca
NotSolved
Blau step by step
08.06.2018 18:09:31 Gast45230
NotSolved
10.06.2018 14:32:55 Gast73283
NotSolved
10.06.2018 18:25:58 Rebecca
NotSolved
10.06.2018 19:34:30 Gast45230
Solved
11.06.2018 09:04:15 Rebecca
Solved