Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1728to1732
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Ersetzen gemäß Mapping Tabelle

VBA Ersetzen gemäß Mapping Tabelle
18.12.2019 14:25:33
Addi
Hallo Zusammen,
ich habe eine Tabelle in der z.B. in der Spalte E diverse Zahlen (Kontierungen) hinterlegt sind.
Aufgrund der Umstellung auf eine neue Software müssen diese Kontierungen in einer Parallelphase immer wieder in diversen Reports angepasst werden.
Hierzu möchte ich gerne ein VBA Script laufen lassen, welches den aktuellen Wert in dieser Spalte E mit dem Wert aus einer Mappingtabelle welche in einem zweiten Reiter desselben Excelsheets hinterlegt ist ersetzt.
Zum Beispiel steht in der Zelle E2 der Wert 4550 - in der Mappingtabelle im gleichlautenden Reiter steht in A2 der Wert der ersetzt werden soll, in dem Fall 4550 und in B2 der neue Wert, der hinterlegt werden soll z.B. 3123456.
Die Mappingtabelle geht von A1 bis B20 -- sprich neben den Überschriften sind insgesamt 19 Mappingeinträge enthalten.
Könnt Ihr mir hierbei helfen?
Leider kann ich kein Beispiel hochladen, upload ist hier gesperrt...
Vielen Dank und Gruß
Addi

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Ersetzen gemäß Mapping Tabelle
18.12.2019 14:51:33
Daniel
Hi
kopiere die Spalte E ans Tabellenende und füge in sie Spalte E die SVerweis-Formel ein, um die neuen Kontonummern einzutragen.
dh Spalte E nach bspw Spalte Z kopieren und dann in E2 und nach unten:
=SVerweis(Z2;MappingTabelle!$A:$B;2;0)
dann noch die Spalte E auf #NV-Fehler kontrollieren und ggf die Mappingtabelle um fehlende Einträge ergänzen.
Gruß Daniel
AW: VBA Ersetzen gemäß Mapping Tabelle
18.12.2019 14:55:55
Nepumuk
Hallo Addi,
teste mal:
Public Sub Ersetzen()
    Dim avntValues As Variant
    Dim ialngIndex As Long
    With Worksheets("Mapping") 'Anpassen !!!
        avntValues = .Range(.Cells(2, 1), .Cells(.Rows.Count, 2).End(xlUp)).Value
    End With
    With Worksheets("Tabelle1").Columns(5) 'Anpassen !!!
        For ialngIndex = LBound(avntValues) To UBound(avntValues)
            Call .Replace(What:=avntValues(ialngIndex, 1), _
                Replacement:=avntValues(ialngIndex, 2), LookAt:=xlWhole)
        Next
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: VBA Ersetzen gemäß Mapping Tabelle
18.12.2019 16:22:57
Addi
Danke Daniel und Nepumuk!
Beide Varianten sind zielführend...bevorzugend werde ich die von Nepumuk anwenden.
Funktioniert einwandfrei!!
Viele Grüße
Addi
Und wieso noch offen ?
18.12.2019 17:09:06
onur
Und wieso noch offen ?

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige