excel - 在VBA中将列号转换为列字母

标签 excel vba

我使用以下 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/

相关文章:

arrays - 从最小数组返回多个相邻单元格结果,其中可能包含多个重复值

vba - Excel VBA - 函数最小值最大值范围

vba - 页眉页脚格式和公式

vba - 400 错误 Excel 宏

excel - CONCATENATE 在 Excel VBA 中不起作用

.net - 如何从 C# 或 vb.net 读取 Excel 下拉列表或复选框的值?

用于将多个电子表格的第一列与母版表进行比较的 VBA 代码

excel - 导入工作表更改工作表名称

arrays - VBA excel : Filtering By date and assigning Criteria2 value to a variable?

excel - 如何使用多个条件进行索引匹配公式? (有问题)