Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Code anpassen
#1
Wink 
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
Antworten Top
#2
Hallo,

zur 1. Verbesserung....

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

viele Grüße
Karl-Heinz
Antworten Top
#3
Ein Einszeiler reicht.

Code:
Sub M_snb()
   Sheets("Farben").Range("$A$2:$B$500").replace activecell.value, activecell.offset(,1).value
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste