こんばんは。
>入力がJだったら10を出力
ということは、入力したセルの列番号を数値で出力したいと言うことですね。
シートモジュールに
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox Target.Column
End Sub
としみてください。
こんばんは。
現在のところは、二桁までです。
ユーザー定義関数を作りました。"ZZ" まで、出力可能です。
大文字・小文字は可能ですが、全角は受けないようにしてあります。
Sub Test()
Dim d As Integer
d = Alpha2Num("AB")
MsgBox CStr(d)
End Sub
Function Alpha2Num(ByVal arg As String)
Dim i As Integer
Dim j As Integer
arg = StrConv(arg, vbLowerCase)
If arg Like "[a-z]*" Then
If Len(arg) = 2 Then
i = (Asc(Mid(arg, 2, 1)) - 96)
j = (Asc(Mid(arg, 1, 1)) - 96) * 26
Else
i = (Asc(arg) - 96)
End If
End If
Alpha2Num = j + i
End Function
お礼
回答ありがとうございます。 エクセルVBAを使うならこの方法が一番シンプルで 良いですね。