获取逻辑列字符
问题描述:
我需要获取我在Excel表格中创建的逻辑列的字母。获取逻辑列字符
当我点击一个单元格时,假设H7有数据23,我可以得到Te excel列H,但出于某种商业目的我想要A,即第5行中的字母对应于一个单元格如果假设它是56,我想B。
图2显示了为什么我希望B代替excel列I,这是因为如果我插入一列,我的Excel列信将改变,但对应的数字B中的逻辑列字母只保留在B中。 我可以使用代码来获取Excel列字母:
Public Function ColumnLetters(rInput As Range) As String
ColumnLetters = Split(rInput.Address, "$") (1)
End Function
如果提取的列字母为H,我需要的是在第5排它下面这是一个价值和等等。对于我它是B,等等。
我这样做是为了插入附加列,excel列的字母会改变,但它不会改变我的逻辑列字母。
请问有人可以帮忙吗?
答
你只是想将列号转换成一个字母,对吗?
在您的Vba代码上,使用Chr()
。这会将您输入的数字转换为字符。
如果你把Chr(65)
它会返回“A”。你只需要现在添加你的计算来达到你想要的字母。
我不明白你想要什么,但作为一个例子,可以说col
是你的列号变量。
的Chr(64+col)
将返回一个作为第1列
不过,如果你想返回一个5列,你会调整它像Chr(60+col)
+0
我添加了图片和说明。请参考我编辑的问题。我希望你现在就明白。 :( –
你能想出一个例子,它不会改变你的逻辑列字母? – Vityata
我不明白你想要实现什么? –
我想引用我的目标单元格列,所以我的数据总是可以通过对应于第5行的逻辑列字母来引用。即使我在我之前插入列,并且我在excel列中变为J,我的字母B I第五排将完好无损。这就是为什么我试图获取我在第五行创建的列字母而不是excel列字母 –