Clever-Excel-Forum

Normale Version: VBA Code anpassen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi! 19

Ich habe einen VBA Code der gut funktioniert.
Mit diesem Code kann ich mehrere Werte auf einmal finden und ersetzen.

Jetzt würde ich gerne etwas verbessern und weiß nicht wie. Ich kenne mich leider gar nicht mit VBA Codes aus.

Hier ist der Code:
Sub MultiFindNReplace()
'Updateby Extendoffice
Dim Rng As Range
Dim InputRng As Range, ReplaceRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Original Range ", xTitleId, InputRng.Address, Type:=8)
Set ReplaceRng = Application.InputBox("Replace Range :", xTitleId, Type:=8)
Application.ScreenUpdating = False
For Each Rng In ReplaceRng.Columns(1).Cells
    InputRng.Replace what:=Rng.Value, replacement:=Rng.Offset(0, 1).Value
Next
Application.ScreenUpdating = True
End Sub


1. Verbesserung:
Was muss ich an diesem Code ändern damit die Replace Range nicht immer eintragen muss? Die ist nämlich immer gleich.
Bei mir lautet die Replace Range immer: Farben!$A$2:$B$500
2. Verbesserung:
Wenn der Code durchgelaufen ist, dann öffnet sich immer nochmals das Fenster mit dem VBA Code. Das finde ich auch sehr nervig weil ich dann erst wieder minimieren muss.

Hat hier jemand eine Lösung für mich.

Würde mich sehr freuen.

LG
Hallo,

zur 1. Verbesserung....

Set ReplaceRng = Sheets("Farben").Range("$A$2:$B$500")

viele Grüße
Karl-Heinz
Ein Einszeiler reicht.

Code:
Sub M_snb()
   Sheets("Farben").Range("$A$2:$B$500").replace activecell.value, activecell.offset(,1).value
End Sub