Excel中使用表进行replace的简单密码

我想在Excel中编写一个简单的密码,它将从单元格中取出一个文本,用相邻列中的一个数字replace每个字母,然后将输出放在另一个单元格中。 不能让VLOOKUP工作 – 它作为一个公式工作,但不知何故无法让它在VBA代码内工作。 试图做一个简单的过程,这将为一个字符(稍后添加一个循环会很容易),但它不起作用。 它编译,但是当我运行它(按一个button,我分配给),我得到了“#N / A”在结果单元格。

Sub Zakoduj() Dim Literka As String Dim Liczba As Variant Dim ColumnToTake As Integer ColumnToTake = 1 ' Liczby On Error Resume Next Err.Clear Literka = Sheets("Sheet2").Range("B2").Value Liczba = Application.VLookup(Literka, Sheets("Sheet1").Range("A5:B39"), ColumnToTake, False) If Err.Number = 0 Then Sheet2.Range("B6").Value = Liczba Else Sheet2.Range("B6").Value = Err.Number End If End Sub 

范围包含数字和字符如下:

 Kod Litera 16 A 73 B 12 C 40 D 70 E etc. etc. 

无法find解释如何做到这一点的教程…

这是一个修改版本。 请注意,这些值位于表格1中的A1:B6中

 Option Explicit Sub Zakoduj() Dim Literka As Integer Dim Liczba As String Dim ColumnToTake As Integer ColumnToTake = 2 ' Liczby Literka = Sheets("Sheet2").Range("B2").Value Liczba = "Value not found" 'If value is not found On Error Resume Next Liczba = Application.WorksheetFunction.VLookup(Literka, Sheets("Sheet1").Range("A1:B6"), ColumnToTake, False) On Error GoTo 0 'Always reset error handling after On Error Resume Next Sheet2.Range("B6").Value = Liczba End Sub