Excel zamiana liczb w różnych systemach

Kamil_dobry
Użytkownik
Użytkownik
Posty: 146
Rejestracja: 28 paź 2007, o 12:46
Płeć: Mężczyzna
Lokalizacja: Piotrków Trybunalski
Podziękował: 50 razy

Excel zamiana liczb w różnych systemach

Post autor: Kamil_dobry »

Witam mam problem. Muszę w VB Excel napisać funkcję (wykorzystując algorytm hornera) zamieniającą liczbę systemu dwójkowego na system dziesiętny.(To znaczy chodzi mi też o zamianę z innych systemów na inne, ale przede wszystkim z dwójkowego na dziesiętny) Funkcja musi uwzględniać "," to znaczy po wpisaniu 10101,10101 ma wyjść wynik w systemie dziesiętnym, a nie błąd. I po wpisaniu np.10102 ma wyskoczyć, że użyliśmy złych znaków/cyfr.
Bardzo bym prosił o szybką odpowiedź. Oto co do tej pory sam zrobiłem:

Kod: Zaznacz cały

Public Function przeliczanie(n, x)
Dim a(0 To 10)
dl = Len(n)
For i = 1 To dl
a(1) = Mid(n, i, 1)
Select Case a(i)
Case "A"
a(i) = 10
Case "B"
a(i) = 11
Case "C"
a(i) = 12
Case "D"
a(i) = 13
Case "E"
a(i) = 14
Case "F"
a(i) = 15
End Select
If a(i) <= x Then
w = w & a(i)
Next i
y = a(0)
For i = 1 To dl
y = y * x + a(i)
Next i
MsgBox ("po zamianie " & n & " w systemie " & x & " na system dziesiętny otrzymujemy liczbę " & y)
GoTo Linia2
End If
MsgBox ("Podałeś złe wartości!")
GoTo Linia1
Linia1:
MsgBox ("Nim wpiszesz dane następnym razem zastanów się :D")
Linia2:
MsgBox ("Dziękuję :D")

End Function
ODPOWIEDZ