Sziasztok!
Következőben szeretnék segítséget kérni:
MS excellel húzunk be egy adatbázisból adatokat, mely lekérdezéskor a számokban a tizedes ponttal jelölődnek és szövegként értelmezi az Excel. Vannak egészek, egynél kisebb és nagyobb tört számok.
A cél, hogy a pontból vessző, a szövegből szám legyen és az Excel így is értelmezze. A gond, úgy tűnik, hogy a makró különböző locale beállításokat használ mint a grafikus felület és nem találom a kettő között az átjárót. (Ebbe belefutottam már korábban CSV export kapcsán is)
Adat példa:
DATA
0
0.027
2.579401635510707
-1
Se a find and replace, se replace nem működik az 1-nél nagyobb számoknál, mert az átalakításnál a ","-t ezres jelölőnek veszi, így pl a fenti 2.579401635510707 számból 2 579 401 635 510 707 lesz.
Amit próbáltam:
- először eléfűzni egy betűt, hogy mindenképp stringként értelmezze, utána replace, majd a betű levágása, szintúgy a fenti eredményt hozza.
- Application.UseSystemSeparators / Application.ThousandsSeparator / Application.DecimalSeparator változók állítgatása
- agybaj
28. nem működő verzió:
Range(data_cell).Value = "t" + Left(CStr(Range(data_cell).Value), 5)
Range(data_cell).Select
Selection = Replace(Range(data_cell).Value, ".", ",")
ActiveCell.Value = Mid(ActiveCell.Value, 2, Len(ActiveCell.Value) - 1)
Remélem van köztetek Excel guru :)