Witam. Ten kod powinien podać wynik działania na ułamkach zwykłych.

Public Function SumaUlamkow(Ulamek1, Ulamek2)
Dim Mianownik1
Dim Mianownik2
Dim Licznik1
Dim Licznik2
Dim Mianownik
Dim Licznik
Dim i As Integer

Ulamek1 = Replace(Ulamek1, " ", "")
i = InStr(1, Ulamek1, "/")
Licznik1 = Left(Ulamek1, i - 1)
Mianownik1 = Right(Ulamek1, Len(Ulamek1) - i)

Ulamek2 = Replace(Ulamek2, " ", "")
i = InStr(1, Ulamek2, i - 1)
Licznik2 = Left(Ulamek2, i - 1)
Mianownik2 = Right(Ulamek2, Len(Ulamek2) - i)

Licznik1 = CInt(Licznik1)
Mianownik1 = CInt(Mianownik1)
Licznik2 = CInt(Licznik2)
Mianownik2 = CInt(Mianownik2)

Mianownik = WorksheetFunction.Lcm(Mianownik1, Mianownik2)
Licznik = Licznik1 * (Mianownik / Mianownik1) + Licznik2 * (Mianownik / Mianownik2)
i = WorksheetFunction.Gcd(Licznik, Mianownik)

If i > 1 Then
Licznik = Licznik / i
Mianownik = Mianownik / i
End If

SumaUlamkow = Licznik & "/" & Mianownik
End Function

 

Nie wiem tylko jak podać argumenty, aby je poprawnie mi pobrał. Formatuję komórki na wyświetlanie ułamków zwykłych ale to nic nie daje :/