Thema Datum  Von Nutzer Rating
Antwort
Rot For each Loop schnellere Lösung
13.04.2023 10:48:01 Gulermo
NotSolved
13.04.2023 12:16:54 Ulrich
NotSolved
13.04.2023 16:46:28 ralf_b
NotSolved
14.04.2023 11:20:27 Gulermo
NotSolved
14.04.2023 17:56:45 ralf_b
NotSolved

Ansicht des Beitrags:
Von:
Gulermo
Datum:
13.04.2023 10:48:01
Views:
1191
Rating: Antwort:
  Ja
Thema:
For each Loop schnellere Lösung

Guten Tag

Hat jemand eine Idee wie ich folgendes Makros beschleunigen kann:
 

Sub Zeile_Farben_zurücksetzen()

Dim cell As Range
Dim rng As Range
Dim i As String
Dim c As Integer

i = ActiveCell.Row

Dim V_AnzZeilen_1 As Integer
    V_AnzZeilen_1 = ActiveSheet.Range("A65536").End(xlUp).Row ' Spalte A = Referenz
     
If ActiveSheet.Name = "Projektplan" Then

If i >= 18 And i <= V_AnzZeilen_1 Then

Set rng = Range("J" & i & ":IT" & i)

For Each cell In rng.Cells

c = cell.Column
If Cells(17, c).Characters.Font.Color = RGB(255, 0, 0) Then
cell.Interior.Color = RGB(253, 233, 217)
Else
cell.Interior.Color = RGB(242, 242, 242)

End If
Next cell

rng.Select
With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = 0
        .Weight = xlMedium
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ThemeColor = 1
        .TintAndShade = 0
        .Weight = xlThin
    End With
    
GoTo Fertig
Else
GoTo Ende2
End If
Else
GoTo Ende1
End If

Ende1:
MsgBox "In diesem Arbeitsblatt darf dieser Befehl nicht ausgeführt werden"
GoTo Fertig

Ende2:
MsgBox "In dieser Zeile darf dieser Befehl nicht ausgeführt werden"
GoTo Fertig

Fertig:

End Sub

Das Makros wird in folgender Tabelle angwendet:

KW 16 KW 17 KW 18 KW 19 KW 20 KW 21 KW 22
17.04.2023 24.04.2023 01.05.2023 08.05.2023 15.05.2023 22.05.2023 29.05.2023
M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S M D M D F S S
                                                                                                 
                                                                                                 
                                                                                                 

Immer wenn der Tagestext schwarz ist soll die Zellenfarbe grau sein und wenn rot soll die Zellenfarbe Orange sein. Das funktioniert auch wunderbar, aber es geht etwa 5 sek pro Zeile und das ist zu lange um es in diesem Fall sinvoll benutzen zu können. Der Bereich geht mit dem For each Befehl von Spalte J bis Spalte IT und da geht es halt jede Zelle einzeln durch. 


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
Rot For each Loop schnellere Lösung
13.04.2023 10:48:01 Gulermo
NotSolved
13.04.2023 12:16:54 Ulrich
NotSolved
13.04.2023 16:46:28 ralf_b
NotSolved
14.04.2023 11:20:27 Gulermo
NotSolved
14.04.2023 17:56:45 ralf_b
NotSolved