使用索引号将一个范围设置为整个列

我正在构build一个函数,它将列号作为input返回列中的最高值。

我需要使用列索引号来处理整个列。 下面的代码工作,但我需要一个索引号,而不是使用“B:B”引用列。

Set rng = Range("B:B") 

当我使用下面的代码时,一切似乎都崩溃了。 它总是返回一个0,即使最高的数字是44.你能看到我在做什么错了吗? 当我使用“B:B”作为范围时,它完美地工作。

 Set rng = Range(Columns(2),Columns(2)) 

似乎没有认识到范围内的任何东西。 任何帮助都是极好的!

尝试这个

 Sub Sample() Dim Rng As Range '~~> This will let you work with Col B Set Rng = Columns(2) '~~> This will give you the Max in that column MsgBox Application.WorksheetFunction.Max(Rng) End Sub 

这是来自我后来发现的解决scheme:

  Dim x, y As Int Dim rng As Range x = 1 ' For A y = 4 ' For D Set rng = Columns(Chr(64 + x) & ":" & Chr(64 + y)) 

资料来源: http : //www.mrexcel.com/forum/excel-questions/114025-visual-basic-applications-select-multiple-columns-using-column-number.html