ikaner
Goto Top

Excel Makro Suchen und Ersetzen: Als Text gespeicherte Zahlen wieder in Zahlenformat überführen

Hallo Community,

im Zuge einer Messdatenauswertung muss ich gewährleisten, dass alle Werte in der Komma-Schreibweise vorhanden sind.

Mit der Suchen & Ersetzen-Funktion in Excel klappt das alles prima, jetzt jedoch der Haken: Ich habe im VBA-Editor einige Zellen des Sheets ein Worksheet_Change Ereignis zugewiesen. Dies hat eine verlangsamte Laufzeit zur Folge, die beispielsweise durch ein entsprechendes Makro für Suchen & Ersetzen mit dem Ereignis Application.EnableEvents = False behoben werden könnte.

Also habe ich den Makro-Recorder eingeschaltet und die Suchen & Ersetzen-Funktion ablaufen lassen. Nachdem ich eine entsprechende Schaltfläche für das Makro erstellt hatte, prüfte ich es.
Sobald nun die Schaltfläche geklickt wird, konvertiert VBA aus einem mir nicht erkannten Grund alle Zahlen, die die Bedingung erfüllen, als einen Text.

Hier einmal das aufgezeichnete Makro:

Sub SuchenErsetzen_Click()

    Cells.Replace What:=".", Replacement:=",", LookAt:=xlPart, SearchOrder _  
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub

Muss ich zusätzlich noch eine Hilfsvariable mit dem Datentyp Single oder Double definieren und diese dann der jeweils geänderten Zelle zuweisen?

Gruß

Ikaner

Content-Key: 339825

Url: https://administrator.de/contentid/339825

Printed on: April 19, 2024 at 04:04 o'clock

Member: Ikaner
Ikaner Jun 05, 2017 at 16:03:03 (UTC)
Goto Top
Hallo nochmal,

ich habe die Lösung des Problems gefunden. Ich habe nicht bedacht, dass VBA Werte in der amerikanischen Schreibweise ausgibt. Daher muss also zweimal der Punkt als Argument eingegeben werden:
 Sub SuchenErsetzen_Click() 
Cells.Replace What:=".", Replacement:=".", LookAt:=xlPart, SearchOrder _    
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False 
End Sub