我无法想到更简单的方法
目前将列号转换为包含以下内容的字母:
col_letter = Split(Cells(1, X).Address, "$")(1)
然后我定义了整个列范围,如下所示:
.Range(col_letter & ":" & col_letter)
有更简单的方法吗?
背景
我试图在VBA中使用SUMIF
Dim col_letter as string
Dim my_total as double
Dim col_number as long
col_number = 15
col_letter = Split(Cells(1, X).Address, "$")(1)
my_total = Application.WorksheetFunction.SumIf( _
.Range("A:A"), "Admix", .Range(col_letter & ":" & col_letter))
但我无法帮助思考使用col_number
.Range(col_letter).column
或其他什么。我对columns
和column
属性感到困惑,因为我不确定如何使用它们。
答案 0 :(得分:1)
您可以使用对列的数字引用而不是字母:.Columns(x)
应该足够(而不是.Range(col_letter & ":" & col_letter)
)。