wtorek, 23 marca 2010

Excel / VBA zamian kropki na przecinek

Jak pewnie niektórzy zauważyli o ile działanie zamiany kropki na przecinek z poziomu interfejsu działa bez problemowo, o tyle wykonanie tej operacji z poziomu VBA nie do końca, tj. użycie: range.Replace What:=".", Replacement:=",", po prostu nie działa.

Świetnie, bez względu na ustawienia regionalne, działa poniższa instrukcja:
range.Replace What:=".", Replacement:="."

Poniżej procedurka zamieniająca kropkę na przecinek w zaznaczonym zakresie.

Sub zamiana_kropki_na_przecinek()
' procedura usuwa z tekstu wszystkie spacje
' oprócz pojedynczych spacji pomiędzy wyrazami
Dim komórka As Range
On Error Resume Next
Application.ScreenUpdating = False
For Each komórka In Selection
If komórka Is Not Null Then
komórka.Replace What:=".", Replacement:=".", Lookat:=xlPart, MatchByte:=False
End If
Next komórka
End Sub

Brak komentarzy:

Prześlij komentarz