我目前正在努力解决以下问题
我试图实现一个输入框,用户可以在其中输入列的字符。
之后,我不知道如何将其转换为数字以在Worksheet.Cells
方法
例如:用户输入" B",因此程序将其保存在名为x的变量中并将其转换为数字,以便可以将其用作{{1 }}
是否有任何方法或有人知道如何做到这一点?
答案 0 :(得分:5)
Cells()是你的朋友。
不要过度思考。
Cells(1, 1) = "jello" ' changes cell A1
Cells(2, "AZ") = "too much jello" ' changes cell AZ2
Cells()的第二个参数可以是数字或alpha列标题。
答案 1 :(得分:1)
B是第二列,因此您可以使用表达式(基于ASCII):
Sub main()
Dim s As String
s = "AB"
example s
End Sub
Sub example(s As String)
Dim colNum As Integer
Dim i As Integer
i = 1: colNum = 0
While (Mid(s, i, 1) <> "")
colNum = colNum * 26 + (Asc(UCase(Mid(s, i, 1))) - Asc("A") + 1)
i = i + 1
Wend
MsgBox colNum
End Sub
答案 2 :(得分:0)
Function getColNum(colLetter As String) As Long
On Error Resume Next 'will return 0 if letter > last col
getColNum = Range(colLetter & "1").Column
End Function