Clever-Excel-Forum

Normale Version: Namen suchen und ersetzen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin zusammen,
knabbere seit Tagen an einem Problem, das für Profis sicher ganz einfach zu lösen ist: 
Habe eine Spalte A mit 500 Namen. Bei den Namen handelt es sich um niedergelassene Ärzte.
Habe eine Spalte B mit ebenfalls 500 Namen. Das sind die Namen der Arztpraxen, in denen die 500 der Spalte A tätig sind. 
Neben jedem Namen der Spalte A steht also in Spalte B der Name der Praxis, in der er arbeitet. 
Bei Einzel-Arztpraxen steht in Spalte B der Name des Arztes selbst, bei Gemeinschaftspraxen (BAG) der Name der Gemeinschaftspraxis.
Beispiel
A1 Müller, Heinz - B1 Müller, Heinz - (also ist es eine Einzelpraxis)
A2 Schmitz, Fritz - B2 Wolter und Schmitz - (also ist es eine BAG).
Nun erscheint der Notdienstplan. Dort stehen nur die Namen der einzelnen Ärzte. Diesen Namen im Dienstplan (Spalte C) will ich durch den Namen der BAG ersetzen. 
Der Auftrag an Excel lautet also in Textform: 
Suche zu jedem Namen der Spalte "C(Dienstplan)" den betreffenden Namen aus der Spalte "A(Arzt)" und ersetze ihn (in Spalte C) durch den nebenstehenden Namen aus der Spalte "B(Praxisbezeichnung)".
Vielen Dank für konstruktive Ratschläge, ob und wie ich das in Excel bewerkstelligen kann.
Hallöchen,

Suche mit SVERWEIS den Eintrag aus Spalte B entsprechend dem Namen von Spalte A. Wenn die Formel stört anschließend kopieren und Inhalte einfügen - Werte.
Hallo

so??


in ein Modul

Code:
Sub Tausch()
    Dim TB1, TB2, LR As Integer, i As Integer
    Dim Z1 As Integer, Anz As Integer, Zeile As Integer
    Dim Arzt As String
   
    Set TB1 = Sheets("Praxen")
    Set TB2 = Sheets("Dienstplan")
    Z1 = 2 'ggf. wegen Überschrift
   
    LR = TB2.Cells(TB2.Rows.Count, "C").End(xlUp).Row 'letzte Zeile der Spalte

    For i = Z1 To LR
        Arzt = TB2.Cells(i, 3)
        If Arzt <> "" Then
            Anz = WorksheetFunction.CountIf(TB1.Columns(1), Arzt) '#### ist vorhanden?
           
            If Anz > 0 Then
                Zeile = WorksheetFunction.Match(Arzt, TB1.Columns(1), 0) '#### in welcher Zeile
                TB2.Cells(i, 3) = TB1.Cells(Zeile, 2) '### überschreiben
            Else
                MsgBox Arzt & ": aus Zeile: " & i & " nicht gefunden"
            End If
        End If
    Next
End Sub

LG UweD