Proporcjonalna czcionka Temat: [Excel 2003] - co to za liczba "1D0070"
Autor: Michal AKA Miki Data: 24 Lut 2009
Odwołania:
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