Thema Datum  Von Nutzer Rating
Antwort
23.04.2024 08:48:03 Ulrich Paul
NotSolved
23.04.2024 10:29:16 Ben
NotSolved
23.04.2024 21:06:14 ralf_b
NotSolved
24.04.2024 08:38:54 Ulrich Paul
NotSolved
24.04.2024 14:46:08 Gast39910
NotSolved
24.04.2024 21:33:14 Ulrich Paul
NotSolved
30.04.2024 16:08:16 Gast70852
Solved
03.05.2024 10:26:42 Alwin Weisangler
NotSolved
03.05.2024 12:18:37 Alwin
NotSolved
Blau UÜserForm
03.05.2024 14:03:49 Alwin Weisangler
Solved
03.05.2024 19:34:59 Ulrich Paul
Solved
03.05.2024 19:41:28 Gast11408
Solved

Ansicht des Beitrags:
Von:
Alwin Weisangler
Datum:
03.05.2024 14:03:49
Views:
194
Rating: Antwort:
 Nein
Thema:
UÜserForm

letzte Änderung und nun ohne unnötigen Laufzeitverlust. Die Leserei der Vergleichszelle im Range war die Tempobremse.

Sub MehrfachvorkommenMarkieren(Bereich As Range, Spalte As Variant)
    Dim objDic As Object
    Dim arrSp(), arrDic, i&, j&, tmp$
    Application.ScreenUpdating = False
    Set objDic = CreateObject("Scripting.Dictionary")
    Bereich.Parent.Cells.Interior.ColorIndex = xlColorIndexNone
    arrSp = Bereich.Columns(Spalte(0)).Value
    For i = 2 To UBound(arrSp)
        objDic(arrSp(i, 1)) = 0
    Next i
    arrDic = objDic.keys
    With Bereich
        For i = 0 To UBound(arrDic)
            If WorksheetFunction.CountIf(.Columns(Spalte(0)), arrDic(i)) > 1 Then
                For j = 2 To .Rows.Count
                    If arrDic(i) = arrSp(j, 1) Then
                        If InStr(1, tmp, "A" & j, vbTextCompare) = 0 Then
                            tmp = tmp & ",A" & j + 2
                            If Len(tmp) > 248 Then
                                Intersect(Bereich, Tabelle1.Range(Mid(tmp, 2)).EntireRow).Interior.ColorIndex = 4
                                tmp = ""
                            End If
                        End If
                    End If
                Next j
            End If
        Next i
        If tmp <> "" Then Intersect(Bereich, Tabelle1.Range(Mid(tmp, 2)).EntireRow).Interior.ColorIndex = 4
    End With
    Application.ScreenUpdating = True
End Sub

Gruß Uwe


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
23.04.2024 08:48:03 Ulrich Paul
NotSolved
23.04.2024 10:29:16 Ben
NotSolved
23.04.2024 21:06:14 ralf_b
NotSolved
24.04.2024 08:38:54 Ulrich Paul
NotSolved
24.04.2024 14:46:08 Gast39910
NotSolved
24.04.2024 21:33:14 Ulrich Paul
NotSolved
30.04.2024 16:08:16 Gast70852
Solved
03.05.2024 10:26:42 Alwin Weisangler
NotSolved
03.05.2024 12:18:37 Alwin
NotSolved
Blau UÜserForm
03.05.2024 14:03:49 Alwin Weisangler
Solved
03.05.2024 19:34:59 Ulrich Paul
Solved
03.05.2024 19:41:28 Gast11408
Solved