Excel-VBA从文本框中的字母等同项中获取数字

我有一个用户表单,要求input一个文本框的列引用。 我正在努力使这个数字代替代码中的字母。 我正在使用单元格(a,b)格式来执行此操作。 这就是为什么我需要这个号码来代替这个字母。

Worksheets("AIO").Cells(X, TextBox3).Value = Worksheets("FDSA").Cells(Y, TextBox4).Value 

因此,在以前的代码中:x = 2,TextBox3.Value = A,y = 4,TextBox4.Value = AA

该代码将作为

 Worksheets("AIO").Cells(2, 1).Value = Worksheets("FDSA").Cells(4, 27).Value 

我能想到的唯一的事情是一个巨大的if语句,我代码类似这样的东西:

 If textbox3.value ="A" then textbox3.value=1 elseif textbox3.value=E then textbox3.value=5 ....... ....... textbox3.value=AD then textbox3.value=30 End If 

如果你想保持简单, .Cells可以使用列string而不是数字

 Sub test() 'From sheet module Debug.Print Me.Cells(1, 1).Address 'prints $A$1 Debug.Print Me.Cells(1, "A").Address 'also prints $A$1 End Sub 

你可能需要validation它是一个有效的列ID,但你可能需要这样做,即使将其转换为数字。

在从string中获取列号的方法中

 Sub ColumnNumber() Dim s As String Dim L As Long s = "AB" L = Cells(1, s).Column MsgBox L End Sub