我使用以下 VBA 代码将单元格 C1 中的列号插入到单元格 B1 中:
Sub AdressColumn()
Sheet1.Range("B1").Value = Sheet1.Range("C1").Column
End Sub
在这种情况下,我的电子表格上的结果如下所示:
A B C
1 3
2
3
到目前为止,所有这些都运行良好。
<小时/>但是,我宁愿插入该列的字母,而不是插入 3
。在本例中,字母 C
应插入到单元格 B1 中。
我还尝试使用公式 here但我无法让它工作,因为在我的例子中我不使用给定的数字。相反,我使用 .Column
函数引用列。
我必须对公式进行哪些更改才能使其发挥作用?
最佳答案
将 $ 从绝对单元格地址中分离出来。
Sub AdressColumn()
Sheet1.Range("B1").Value = split(Sheet1.Range("C1").address, "$")(1)
End Sub
...或将冒号从相对完整的列地址中分离出来。
Sub AdressColumn()
Sheet1.Range("B2").Value = Split(Sheet1.Range("C1").EntireColumn.Address(0, 0), ":")(0)
End Sub
关于excel - 在VBA中将列号转换为列字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51191683/