Clever-Excel-Forum

Normale Version: VBA - gleiche Zellen markieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Guten Morgen miteinander ?

Ich würde gern in Spalte S in eine Zelle klicken. Diese soll dann markiert werden.
Steht in Spalte X dasselbe (Text oder und Zahl) dann soll auch diese Zelle in derselben Farbe markiert werden. 
Klicke ich auf irgend eine andere Zelle, sollen beide Markierungen wieder weg sein.

Wie könnte man das denn lösen?

Viele Grüße
Klaus
Hallo,

versuche es mal mit diesem Makro im Modul des Tabellenblattes:

Code:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim isect As Range
    Range("S:X").Interior.Color = xlNone
    Set isect = Application.Intersect(Target, Columns(19))
    If Not isect Is Nothing Then
        Cells(Target.Row, 19).Interior.Color = 65535
        If Cells(Target.Row, 24).Value = Cells(Target.Row, 19).Value Then Cells(Target.Row, 24).Interior.Color = 65535
    End If
End Sub
Hallo Klaus-Dieter,
vielen lieben Dank für deine Hilfe.

Die Spalte S wird perfekt markiert und auch wieder entmarkiert wenn ich die Zelle oder die Spalte verlasse. 
Jedoch die Markierung der Zelle gleichen Inhalts in der Spalte X dazu funktioniert nicht. Spalte X bleibt farblos.

Und was mir gerade auffällt - es wäre auch genial, wenn das andersrum auch funktionieren würde.
Also wenn ich in Spalte X in eine Zelle klicke und in Spalte S die Zelle gleichen Inhalts würde markiert werden.

Viele Grüße
Klaus
Hallo Klaus,


Zitat:Jedoch die Markierung der Zelle gleichen Inhalts in der Spalte X dazu funktioniert nicht. Spalte X bleibt farblos.


bei mir funktioniert das.


Tabelle1

STUVWX
141313

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
oha... jetzt hab ich das auch mal in einer extra Datei probiert.

Das sieht dann so aus, dass es nur funktioniert wenn sich die Werte gegenüber stehen - also in der selben Zeile.
Hallo,

ja, wie denn sonst?
Oha... entschuldige bitte. Da habe ich mich nicht verständlich ausgedrückt. Das tut mir leid.

Wenn ich in S eine Zelle anklicke soll diese markiert werden.
Steht derselbe Inhalt der in dieser Zelle in S steht auch in X irgendwo in irgend einer Zelle, dann soll auch diese markiert werden.

Toll wäre es, wenn das auch andersherum funktioniert. 
Also so das man in X eine Zelle anklickt und wenn der selbe Wert irgendwo in S steht, dass diese Zellen dann auch markiert werden.
Hi,

such dir irgendeine Zelle aus, die als Zwischenspeicher dienen soll. Ich nehme mal Z1.
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = 1 And (Target.Column = 19 Or Target.Column = 24) Then
    Range("Z1") = Target
Else
    Range("Z1").ClearContents
End If
End Sub
Das kopiert dir den Wert der angeklickten Zelle in Z1. Jetzt brauchst du nur noch eine bed.Form. mit der Formel =(S1<>"")*(S1=$Z$1) (S1 ist die aktive Zelle bei der Eingabe der Formel).

Statt Z1 kannst du auch eine beliebige Zelle in einem beliebigen Tabellenblatt verwenden. Und natürlich darf dies auch ausgeblendet sein, wenn einen das stört (oder das Zellformat ";;;" enthalten)
Hallo Klaus,

habe noch einen anderen Ansatz anzubieten.

Code:
Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim isect As Range
    Dim lngZeile As Long
    Range("S:X").Interior.Color = xlNone
    Set isect = Application.Intersect(Target, Columns(19))
    If Not isect Is Nothing Then
        Cells(Target.Row, 19).Interior.Color = 65535
        lngZeile = Application.Match(Target.Value, Columns(24), 0) '> 0 Then
        If lngZeile > 0 Then
            Cells(lngZeile, 24).Interior.Color = 65535
        End If
    End If
End Sub
Hallo Klaus-Dieter.
Der neue Code funktioniert schon fast richtig  17

Doppelte Werte in X werden nicht erkannt und wenn der Wert auf X ganz fehlt kommt eine Fehlermeldung.

Hallo Helmut, 
auch dir vielen Dank für deine Hilfe.
Die Idee mit der Kombination von VBA und bedingter Formatierung ist nicht schlecht.
Ich werde das auch gleich mal austesten. 
Viele Grüße
Klaus
Seiten: 1 2