Clever-Excel-Forum

Normale Version: VBA Wert in Spalte suchen und Markieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

ich habe leider keine Ahnung von VBA, bin aber auf ein Problem gestoßen, wo ich ohne scheinbar nicht weiter komme.

Ich brauche für einen Button einen Code um den Inhalt von Tabelle1 "A3" mit dem Inhalt von Tabelle2 Spalte A:A zu vergleichen.
Wenn ein Treffer gefunden wurde, dann soll dieser in Tabelle2 Spalte A:A grün markiert werden (Also wenn Tabelle1 A3 mit etwas aus Tabelle2 A:A identisch ist).

Der Punkt, warum es ein Button sein soll ist der, dass ich mit dem Button die Einträge in Tabelle2 "einloggen" möchte. Wenn ich Tabelle1 A3 den Wert per DropDown von X auf Y verändere möchte ich in Tabelle 2 nach wie vor sehen können, dass ich bei Wert X bereits war. Eine Formel würde sich meines Verständnis nach immer wieder zurücksetzen je nach Wert in Tabelle1 A3.

Ich würde mich sehr freuen wenn mir jemand helfen kann, da ich leider garkein Basiswissen darüber habe.

Danke im Voraus und liebe Grüße
Hallo

dieser Code sucht auch mehrfach vorkommernde Zellen und markiert sie alle grün. Der 2. Code dient zum löschen der Farbe über einen 2. Button..  Wissen zum Farbcode:  der Code funktioniert mit einer 1-2 stelligen Farb Nummer! Die alte Excel 2003 Farbpalette mit 56 Farben!  Für die neuen Farben, 6stellig, muss im Code hinter "Color" der Text "Index" weggelassen werden!! 


mfg  Gast 123

Code:
Option Explicit
Const grün = 4      'kurze Zahl bis 56 = ColorIndex, lange Zahl = Color!!


Sub Tabelle2_markieren()
Dim SuName As String, n As Integer
Dim rfind As Range, Adr1 As String
Dim Tb2 As Worksheet
Set Tb2 = Worksheets("Tabelle2")

With Worksheets("Tabelle1")
    SuName = .Range("A3").Value
    'Suche Text in Tabelle2, OHNE sie zu Öffnen!
    Set rfind = Tb2.Columns(1).Find(What:=SuName, After:=[a1], LookIn:= _
        xlFormulas, LookAt:=xlWhole, SearchDirection:=xlNext, MatchCase:=False)
   
    If Not rfind Is Nothing Then
        Adr1 = rfind.Address
        Do  'Schleife für mehrfach Zellen
           n = n + 1
           'rfind.Interior.Color = grün        'lange Zahş z.B. 3394611
           rfind.Interior.ColorIndex = grün    'kurze zweistellige Zahl!
           Set rfind = Tb2.Columns(1).FindNext(rfind)
        Loop Until rfind.Address = Adr1
    Else
        MsgBox SuName & "  nicht gefunden!": Exit Sub
    End If
   
    MsgBox n & " grefunden"
End With
End Sub


'2. Button um Farbe wieder zu löschen

Sub Tabelle2_Innenfarbe_löschen()
    Worksheets("Tabelle2").Columns(1).Interior.Color = xlNone
End Sub
Super! Vielen Dank - das hat mir wirklich sehr weiter geholfen !

Danz liebe Grüße
Tobias