Thema Datum  Von Nutzer Rating
Antwort
10.07.2017 10:54:54 Niko
NotSolved
10.07.2017 14:02:55 Ben
NotSolved
Rot VBA Matrix / Daten formatieren
10.07.2017 14:29:00 Ben
NotSolved

Ansicht des Beitrags:
Von:
Ben
Datum:
10.07.2017 14:29:00
Views:
519
Rating: Antwort:
  Ja
Thema:
VBA Matrix / Daten formatieren

Hallo,

wenn die vorherige Formatierung nach dem Aufheben der Markierung wieder hergestellt werden soll, kann dieser Code eingesetzt werden:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Static rngReset As Collection
    Dim rng As Range
    Dim Info As Collection
    Dim lngInfo As Long
    If Not rngReset Is Nothing Then
        If rngReset.Count > 0 Then
            For lngInfo = 1 To rngReset.Count
                Set Info = rngReset.Item(lngInfo)
                Target.Worksheet.Range(Info.Item(1)).Interior.ThemeColor = Info.Item(2)
            Next
            'Target.Worksheet.Range(rng
        End If
    End If
    If Target.Rows.Count > 1 And Target.Columns.Count > 1 Then
        Set rngReset = New Collection
        For Each rng In Union(Target.Rows(1), Target.Columns(1)).Cells
            Set Info = New Collection
            Info.Add rng.AddressLocal
            Info.Add rng.Interior.ThemeColor
            rngReset.Add Info
        Next
        Target.Rows(1).Interior.ThemeColor = xlThemeColorDark2
        Target.Columns(1).Interior.ThemeColor = xlThemeColorDark2
        Set rng = Target
    Else
        Set rngReset = Nothing
    End If
    
End Sub

Vor dem Verändern der Formatierung der ersten Spalte bzw. Zeile wird die bestehende Formatierung in einer Collection zwischengespeichert.

Beim nächsten Aufruf werden diese Formatierungen durch Auslesen der Collection-Einträge wieder hergestellt.

LG, Ben


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
10.07.2017 10:54:54 Niko
NotSolved
10.07.2017 14:02:55 Ben
NotSolved
Rot VBA Matrix / Daten formatieren
10.07.2017 14:29:00 Ben
NotSolved