我一直在学习VBA一段时间,但有一个问题是我一直面对的,直到我知道后才知道。如何在Excel中使用VBA命名动态列
我希望能够使用VBA命名列,因此我可以稍后将它用作其他单元格/列中的参考列(使用INDEX函数)。
我知道如何命名一个固定的列。但那不是我想要的。我的问题
例子:
这个月我命名列D
为TotalAmount
。 VBA代码可以是:
ActiveWorkbook.Names.Add Name:="TotalAmount", RefersToR1C1:="=Sheet1!C4"
我将使用INDEX函数来参照该列中的其他细胞。
但是,下个月我会在栏位D
之前添加一个新的专栏(比方说上个月的销售额)。因此,我想在下个月命名为TotalAmount
的新列将成为E
列,而不是D
。
我知道添加新列时Column命名不应该改变,列E
将自动变为TotalAmount
列。然而,我不能依靠它,因为excel表被不同的人访问,每个人都在做他自己的计算。
所以,我想这个问题,以及(我相信这是愚蠢的,但嘿,我仍然是一个小白),但它没有工作:(
Sub Macro4()
Range("D1").Select
'(I can select the desired cell each month using the search function)
Dim i As Integer
i = ActiveCell.Column
ActiveWorkbook.Names.Add Name:="TotalAmount", RefersToR1C1:="=Sheet1!Ci"
End sub
所以我会很感激,如果有人可以帮助我或指导我这个问题。
这正是我一直在寻找!像魅力一样工作!谢谢! :D – Alomical