如何使用列标题创建excel forumlae?

时间:2017-04-27 08:47:53

标签: excel vba excel-vba

我的公式是:

="do.something("&BA2&",'"&LEFT(BI2,FIND("_",BI2)-1)&",something) as "&BA2&","

但是,如何使用每列中第一个单元格中存在的数据(即列标题)来创建此列,而不是指定列。

如此有效,我想要的是:

="do.something("@[Data_Header_1]2",'"&LEFT(@[Data_Header_2]2,FIND("_",@[Data_Header_2]2)-1)&",something) as "@[Data_Header_1]2","

但显然这是无效的。

我的数据可能会移动,因此我想使用列标题引用它。

提前致谢!

2 个答案:

答案 0 :(得分:2)

如果列标题位于第1行,请使用“匹配”查找列:

column_number1 = WorksheetFunction.Match("Data_Header_1", Sheets("Sheet1").Range("1:1"), 0)
column_number2 = WorksheetFunction.Match("Data_Header_2", Sheets("Sheet1").Range("1:1"), 0)

要引用该列,只需使用Columns,例如

Columns(column_number1).Select     

或 - 取决于您将其用于:

Columns(column_number2).Address

答案 1 :(得分:0)

直接指向细胞。因此,如果表格在A1中开始并且您想要第一个标题,请将其称为A$1

$用于修复行,所以即使你拖下公式,你仍然指的是第一行