Eu preciso fazer uma busca em massa e substituir ¿Posso fazer isso com uma tabela de "subtitutions"?

0

Eu tenho uma tabela principal com pacientes e hospitais. Os hospitais têm erros de digitação e alguns deles não têm um artigo, como o seguinte.

Name       Hospital
----------------------------
Fulano     Hospital Princesa
Mengano    Princesa
Futano     La PRincesa
Octano     Paz
Nonano     La Paz
Zipi       PAz

Eu preciso mudar todas as células "Princesa" para "Hospital La Princesa" e todas as células "La Paz" para "Hospital La Paz".

Cada vez que eu corrijo o banco de dados, faço manualmente um "localizar e substituir" (" inc " - > "Hospital La Princesa" e " az " - > "Hospital La Paz")

Como existem muitos hospitais (perto de 15) e tantas linhas na tabela principal, quero saber se existe uma maneira fácil de fazer isso (talvez com um vlookup, talvez com VBA)

    
por Nicolas Riera 11.02.2018 / 20:52

1 resposta

1

Tente isto:

Option Explicit

Public Sub FixHospitalNames()

    Dim ws As Worksheet, itm As Variant, i As Long
    Dim hOld As Variant, hNew As Variant, extras As Variant

    extras = Split("hospital,la, ", ",") 'removes any extras (splits string by ",")

    hOld = Split("princesa paz")         'replace these 2 items with the 2 items from hNew
    hNew = Split("Hospital La Princesa,Hospital La Paz", ",")

    With Sheet1.UsedRange.Columns(2).Offset(1)  'Update Sheet and Column as needed

        For Each itm In extras
            .Replace What:=itm, Replacement:=vbNullString, LookAt:=xlPart, MatchCase:=False
        Next

        For i = 0 To UBound(hOld)
            .Replace What:=hOld(i), Replacement:=hNew(i), LookAt:=xlPart, MatchCase:=False
        Next

    End With
End Sub
por 12.02.2018 / 07:36