Mam z tym problem. Kompletnie nie znam się na VBA. A pomoc jest po angielsku. Znam angielski, ale nie aż tak dużym poziomie by zrozumieć co piszą. Oto treść zadania, które muszę zrobić.
- Zaokrąglić argument będący liczbą z przedziału <-108,108> do dwóch miejsc po przecinku i zinterpretować go jako kwotę wyrażoną w PLN z uwzględnieniem groszy.
- Zwrócić BŁĄD, gdy argument nie jest liczbą rzeczywistą z zakresem <-108,108>, a w pozostałych przypadkach zwrócić tekst wyrażający kwotę wymienioną w 1 punkcie słownie z uwzględnieniem gramatyki języka polskiego.
Przyjmujemy odpowiednią do kwoty złoty i grosz.
Co to wiem co mam użyć w zadaniu to: użyć Single lub Double by uwzględnić liczbę rzeczywistą, użyć For nazwa = liczba1 to liczba2 by mieć przedział <-108,108>, użyć If... then... else by zwrócić błąd, użyć MsgBox by wyświetlić treść.
Znalazłam kod na wyrażenie kwoty w PLN, ale nie wiem jak zrobić by dowolna liczba wyrażałaby kwotę. Czy ma być pusty nawias?
ActiveCell.FormulaR1C1 = "15000"
Selection.NumberFormat = "#,##0.00 $"
Zrobiłam przykładowy program, który podałam w temacie. Proszę więc byście wyjaśnili co źle zrobiłam.
Function Kwota_słownie(Liczba As Double) As Double
For Liczba = -10 8 To 10 8
ActiveCell.FormulaR1C1 = " "
Selection.NumberFormat = "#,##0.00 $"
If Liczba = Doulbe Then
MsgBox ("Argument jest liczbą rzeczywistą")
Else
MsgBox ("Argument nie jest liczbą rzeczywistą")
Slownie(-10 8 To 10 8)
End Function