在MS Excel Caesar Cipher代码中重复为零

时间:2014-05-22 11:09:31

标签: excel vba

如何在Microsoft Excel Caesar Cipher代码中迭代回零?

我试过了:

If Letter_value + Offset > 25 Then
    Letter_value Offset = Letter_value + Offset - 25

这不起作用。

1 个答案:

答案 0 :(得分:0)

我想我弄清楚你在问什么。 看看mod operator

此功能假定您的字母表以1 =“A”开头,而您的字母仅包含字母A-Z。

Function simpleCeaserEncode(letter_value As Integer, offset As Integer) As Integer
' returns simple ceaser encoded value of of the letter_value

    If letter_value + offset > 25 Then
        simpleCeaserEncode = (letter_value + offset) Mod 26
    Else
        simpleCeaserEncode = letter_value + offset
    End If
End Function

Private Sub test()
    Debug.Print simpleCeaserEncode(20, 10)
    ' ==> 4
    Debug.Print simpleCeaserEncode(20, 2)
    ' ==> 22
End Sub