Ich habe zwei Blätter:Bei Zelländerung, nehmen Sie den aktiven Zellenwert und suchen Sie nach dem Wert in einer Spalte?
Blatt 1
Column D (Supplier)
General Mills
Frenchie
Marks LTD
Blatt 2
Column D (Supplier) Column E (Contact)
General Mills LTD Jane
FrenchieS Mike
Marks Parker
Ich versuche, ein Makro, wenn der Benutzer auf den Namen eines Lieferanten in Spalte D zu laufen, Blatt 1. Dieses Makro sollte den Wert aus der aktiven Zelle in der Spalte D (dem Lieferantennamen) übernehmen und in Spalte D auf Blatt 2 suchen.
Wo der Name des Lieferanten ist ähnlich wie in Blatt 2, dann möchte ich das Meldungsfeld den Namen der Kontaktperson aus Spalte E anzeigen:
Hier ist, was ich im Moment habe, ich bin ziemlich neu in VBA, so bitte kann mir jemand zeigen, wie ich das mache, was ich brauche?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, ThisWorkbook.Worksheets(1).Range("D" & ActiveCell.Row)) Is Nothing Then Exit Sub
Application.EnableEvents = False 'to prevent endless loop
On Error GoTo Finalize 'to re-enable the events
'Start lookup
ThisWorkbook.Worksheets("Contacts").Columns("D:D").Select
Set cell = Selection.Find(What:=ThisWorkbook.Worksheets(1).Range("D" & ActiveCell.Row).Value, LookIn:=xlValues, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If cell Is Nothing Then
Exit Sub
Else
MsgBox "Found"
End If
Finalize:
Application.EnableEvents = True
End Sub
Sie kennen die Lieferanten Namen (Hoffentlich wird dies an jemand anderen als nützlich erweisen) nicht übereinstimmen, nicht wahr? – Tony
@Tony ja Ich möchte, dass es nach ähnlichen Werten sucht, wie General Mills mit General Mills Ltd – user7415328