Перевод из Pascal в VBA (написать макрос)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Я только знакомлюсь с языком VBA. Мне нужно написать макрос, который будет раскладывать заданное число N на простые множители. Я начал писать макрос сам, но запутался, не понимаю как нужно работать с ячейками на листе. Пожалуйста помогите разобраться с excel'ем! Вот мой код на языке Pascal:

Решение задачи: «Перевод из Pascal в VBA (написать макрос)»

textual
Листинг программы
Sub main()
n$ = 595
MsgBox PrimeFact(n), , n & "="
End Sub
 
Function PrimeFact$(s$) 'число передается в виде текстовой строки, т.к. тип Double не может содкржать более 15 значащих цифр
    Dim i&, txt$, n
    n = CDec(s)
    i = 2
    While CDec(i) * i <= n
        If Fix(n / i) <> n / i Then
            If i = 2 Then i = i + 1 Else i = i + 2
        Else
            n = Fix(n / i)
            txt = txt & "*" & i
        End If
    Wend
    If txt = "" Then PrimeFact = "Prime" Else PrimeFact = Mid$(txt, 2) & "*" & n
End Function

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.267 из 5