Ich muss Evaluate Arbeit für die Replace-Funktion machen. Der Code soll "-0700" durch nichts ersetzen. Der Code ist unten in Spalte C zusammen mit Daten versehen:EXCEL VBA EVALUIEREN und ersetzen
Set sh = ThisWorkbook.Sheets(1)
Set rangc = sh.Range("c2:c10")
For Each area In rangc.Areas
area.Value = Evaluate("IF(ROW(" & area.Address & ")," & Replace(area.Address, " -0700", "") & ")")
Next area
-Diese sind die Daten in dem Blatt:
ColumnC(original data)
-0700
sdfg -0700
how -0700 saf
2016-10-16 10:13:41 -0700
ColumnC(After code is run)
-700
sdfg -0700
how -0700 saf
10/16/2016 10:13
Warum der Code hat etwas mit der ersten Reihe (-700), aber nicht durch "" ersetzt. Es hat auch die "-700" in der 4. Reihe (16.10.2016 10:13) entfernt. Aber es hat nicht für die 2. und 3. Reihe funktioniert? Wie kann ich es für Strings oder Zahlen arbeiten lassen?
Ich versuche, ähnlichen Code zu verwenden, um Teilzeichenfolge in einer anderen Zeichenfolge sehr schnell zu ersetzen. Ich kann die Schleifenmethode nicht akzeptieren, weil es hunderttausend Zeilen gibt.
* Warum wird der Code etwas zu der ersten Reihe tut (-700), aber mit „“ nicht ersetzen. Außerdem wurde die "-700" in der 4. Reihe entfernt (16.10.2016 10:13) * Ich denke, dass diese Umzüge nicht das Ergebnis der Ersetzung des Codes waren, sondern nur einige automatische Formatierungen von Excel. –
Sie haben wahrscheinlich Recht und ich frage nach einer Lösung für Evaluate, die nicht existiert. – user1721447
Sie wenden die 'Replace'-Funktion auf die Adresse an, die nichts ersetzt. Es könnte einen Weg geben, 'SUBSTITUTE' zu verwenden, aber ich denke, dass die' .Replace'-Methode hier die richtige Lösung wäre. – arcadeprecinct