Ich arbeite in VBA und habe eine Zelle mit allen Buchstaben des Alphabets, und ich möchte alle Buchstaben ersetzen (mit nichts, "", oder eine Zahl, "0") sowie mögliche Interpunktion. Ich laufe es derzeit als:Ersetzen Sie mehrere Zeichen in einer Zeile VBA
val = Replace(val, "(", "")
val = Replace(val, "]", "")
val = Replace(val, "A", "")
val = Replace(val, "B", "")
val = Replace(val, "C", "")
val = Replace(val, "D", "")
val = Replace(val, "E", "")
val = Replace(val, "F", "")
val = Replace(val, "G", "")
val = Replace(val, "H", "")
val = Replace(val, "I", "")
val = Replace(val, "J", "")
val = Replace(val, "K", "")
val = Replace(val, "L", "")
val = Replace(val, "M", "")
val = Replace(val, "N", "")
val = Replace(val, "O", "")
val = Replace(val, "P", "")
val = Replace(val, "Q", "")
val = Replace(val, "R", "")
val = Replace(val, "S", "")
val = Replace(val, "T", "")
val = Replace(val, "V", "")
val = Replace(val, "W", "")
val = Replace(val, "X", "")
val = Replace(val, "Y", "")
val = Replace(val, "Z", "")
Ich habe versucht:
val = Replace(val, "(", "")
val = Replace(val, "]", "")
val = Replace(val, "[A-TV-Z]", "")
Ich könnte eine Schleife hinzufügen, aber dann wird die Rechenzeit nicht ändern.
Aber es funktioniert nicht. Gibt es eine Möglichkeit, die 25 Codezeilen durch eine einzelne Zeile zu ersetzen, wie ich es versucht habe, da ich 1M Zellen lesen muss, und es dauert eine lange Zeit, um derzeit zu laufen. Der traurige Teil ist, dieser Ersatz wird zu verschiedenen Anlässen überall durchgeführt.
dies funktionierte, ich musste nur Funktionalität von der VBA-Platine hinzufügen. Tools ※ Referenzen und überprüft sowohl Microsoft VBScript Reguläre Ausdrücke 1.0 Microsoft und VBScript Reguläre Ausdrücke 5.5 – alex
@alex nur eine der beiden Referenzen benötigt wird, oder Sie können späte Bindung stattdessen verwenden http://StackOverflow.com/questions/4556910/how -do-ich-bekomme-Regex-Unterstützung-in-Excel-über-eine-Funktion-oder-benutzerdefinierte-Funktion – Slai