Run-Time Error 6 - Как заставить мод обрабатывать двойные?

Я всегда получаю ошибку во время выполнения в VBA:

 Sub rsa()

Dim c1 As Long
Dim c2 As Long
Dim z As Long
Dim e As Long

pt = "xa"
n = 187
e = 7

For i = 1 To Len(pt)

    b = Mid$(pt, i, 1)

        If b <> " " Then

             z = Asc(UCase(b))
             'Here is the problem:
             c = z ^ e Mod n
             Text = Text & c

        Else

        Text = Text & " "

        End If

Next i
Cells(20, 4).Value = Text
End Sub

Я получаю ошибку во время выполнения вc = z ^ e Mod n.

Я пробовал разные типы данных, но без решения.

Ответы на вопрос(2)

Ваш ответ на вопрос