Witam grupowiczow
mam pytanko do znawcow matematyki i programowania - dlaczego Excel
rozpoznaje cos takiego jako liczbe?
Innymi slowy (bardziej programistycznie):
Sub tmpaa()
Dim x As String
x = "1D0070"
MsgBox IsNumeric(x)
End Sub
Dlaczego uruchomienie tego makra zwraca True....
Alternatywnie poszukuje eleganckiego rozwiazania, ktore bedzie spelniac
takie zalozenia:
- jesli moj ciag znakow jest w formacie 0000000000000000000121212 to zwroci
mi wartosc 121212 (czyli obetnie nie znaczace zera i zwroci wartosc typu
Long)
- jesli znajdzie sie jakakolwiek litera lub inny znak - zwroci mi
nieskonwertowany ciag znakow (string)...
Teoretycznie wydaje sie, ze nic prostszego - uzywamy IsNumeric(tekst) i
sprawdzamy wyniki... ale niestety poleglem na paru wyrazeniach (np. 0E00010,
co jest jeszcze zrozumiale, czy tez wspomniany 1D0070 ktory jest dla mnie
niejasny)
Oczywiscie problem potrafie sobie rozwiazac naokolo (czyli piszac wlasna
funkcje, ktora sprawdza zawartosc znakow spoza zakresu 0-9, a potem usuwa
zera z przodu), ale takie programowanie wydaje mi sie malo eleganckie...
Pozdrawiam
Michal