Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Markierte Zellen & Ergebnisse anzeigen
#38
Danke für die Anpassungen. Ich würde gern nur die Sperre für die obere Tabelle einfügen also rng_1 & rng_2 so wie es in deiner Beispieltabelle funktioniert. Es muss mir möglich sein in die kleine Tabelle unten rechts rein zukommen um die Ergebnisse mit Strg+C kopieren zu können. Der Cursor muss auch nicht von überall zurück auf B23 springen, mir war nur wichtig das er nach der Eingabe in B23 bleibt, bzw. wieder dahin zurück springt, was gut funktionierte.

Die Befehle "protect" und "unprotect" an den selben stellen wie bei dir im Code funktionieren bei mir leider nicht ohne Fehler. Gibt es eine Möglichkeit sie in diesem Code zu implementieren ohne die Funktionen zu verändern/beeinträchtigen?

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("B24")) Is Nothing Then
        Application.EnableEvents = False
        Me.Cells(Target.Row - 1, Target.Column).Select
        Application.EnableEvents = True
    End If
    Dim iZeile As Range, iSpalte As Range, i&
    Dim rngAdr As Range, j&, arr1(1 To 6, 1 To 1), arr2(1 To 6, 1 To 1)
    If Not Intersect(Target, Range("rng_1")) Is Nothing Then
        Rows(2).Interior.Color = xlNone
        Columns(1).Interior.Color = xlNone
        Cells(2, Target.Column).Interior.Color = vbYellow
        Cells(Target.Row, 1).Interior.Color = vbYellow
    End If
    If Not Intersect(Target, Range("rng_2")) Is Nothing Then
        Rows(2).Interior.Color = xlNone
        Columns(1).Interior.Color = xlNone
        Cells(2, Target.Column - 1).Interior.Color = vbYellow
        Cells(Target.Row, 1).Interior.Color = vbYellow
    End If
    If Not Intersect(Target, Range("E23:E29")) Is Nothing Then
        i = InStr(1, Target.Cells.Value2(1, 1), "/")
        Set iZeile = Columns(1).Find(Mid(Target.Cells.Value2(1, 1), i + 1, 3), lookat:=xlWhole)
        If Target.Cells.Value2(1, 1) <> "" Then
            If Target.Cells.Value2(1, 1) <> "-" And Target.Cells.Value2(1, 1) <> "" Then
                Set iSpalte = Rows(2).Find(Left(Target.Cells.Value2(1, 1), i - 1), lookat:=xlWhole)
                Cells(iZeile.Row, iSpalte.Column).Select
            End If
        End If
    End If
    If Not Intersect(Target, Range("G23:G29")) Is Nothing Then
        i = InStr(1, Target.Cells.Value2(1, 1), "/")
        Set iZeile = Columns(1).Find(Mid(Target.Cells.Value2(1, 1), i + 1, 3), lookat:=xlWhole)
        If Target.Cells.Value2(1, 1) <> "-" And Target.Cells.Value2(1, 1) <> "" Then
            Set iSpalte = Rows(2).Find(Left(Target.Cells.Value2(1, 1), i - 1), lookat:=xlWhole)
            Cells(iZeile.Row, iSpalte.Column + 1).Select
        End If
    End If
   
'*****************************************************************************
   
    If Not Intersect(Target, Range("rng_3")) Is Nothing Then
        Dim k&
        Set rngAdr = Tabelle2.Columns(1).Find(Target.Cells.Address)
        If Not rngAdr Is Nothing Then
            With Tabelle2.ListObjects(1).DataBodyRange
                j = rngAdr.Row + 1 - .Row
                arr1(1, 1) = .Cells(j, 2)
                arr1(2, 1) = .Cells(j, 3)
                arr1(3, 1) = .Cells(j, 4)
                arr1(4, 1) = .Cells(j, 5)
                arr1(5, 1) = .Cells(j, 6)
                arr1(6, 1) = .Cells(j, 7)
                arr2(1, 1) = .Cells(j, 8)
                arr2(2, 1) = .Cells(j, 9)
                arr2(3, 1) = .Cells(j, 10)
                arr2(4, 1) = .Cells(j, 11)
                arr2(5, 1) = .Cells(j, 12)
                arr2(6, 1) = .Cells(j, 13)
                Application.EnableEvents = False
                For i = 1 To 6
                    Cells(22 + i, 12) = arr1(i, 1)
                    Cells(22 + i, 15) = arr2(i, 1)
                Next i
                Application.EnableEvents = True
            End With
        End If
    End If
   
'*****************************************************************************
End Sub
Zitieren


Nachrichten in diesem Thema
RE: Markierte Zellen & Ergebnisse anzeigen - von Solevita - 29.08.2023, 23:21

Gehe zu:


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




Hinweis auf Angebot Excel-Inside - lang    Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden um dein Anliegen zu besprechen.
   Gerne erstellen wir auf dieser Basis ein Angebot.
   Sende deine Anfrage einfach
per E-Mail an anfrage@excel-inside.de


Powerd and supported by Excel-InsideSolutions