Excel VBA 将单元格名称转换为其坐标

Eya*_*l C 5 excel vba

假设我有一个代表单元格的字符串:A2
我应该怎么做才能将其转换为坐标:(2, 1)

Dmi*_*liv 4

没有VBA

假设, cellC2包含 string "A2"

然后

  • =INDIRECT(C2)返回引用A2
  • =ROW(INDIRECT(C2))返回行号 -2
  • =COLUMN(INDIRECT(C2))返回列号 -1
  • ="(" & ROW(INDIRECT(C2)) & "; " & COLUMN(INDIRECT(C2)) & ")"返回格式为的坐标(x; y)-(2; 1)

在此输入图像描述

更新:

如果您使用 UDF,请将参数类型从 更改StringRange

Function GetData(Cell As Range)
    MsgBox "My row is " & Cell.Row
    MsgBox "My column is " & Cell.Column
End Function
Run Code Online (Sandbox Code Playgroud)

如果您从工作表中调用此 UDF,如下所示:=GetData(A2),将弹出消息框:

  • “我的行是2”
  • “我的栏目是1”