如何传递所选范围的列

时间:2016-04-26 22:46:47

标签: vba excel-vba excel

我做了一点研究,发现my question。问题是它是针对某些我不熟悉的C语言编写的。并不是说我对VBA都很熟悉,但这就是我正在做的事情并且做得非常好。因此,为了阻止我搞砸事情的能力而不是让事情有效,我如何从用户选择的列中传递子范围或列?

所以在我的示例代码中,我试图传递所选内容的整个第一列。假设用户范围是B34:D40,我想通过B34:B40这样安排是B34:B40。

Sub initialsub (userrange as range)

Call secondfunction (userrange([],1)

end sub
----------------------------------------------------------------
function secondfunction (arrange as range) as long

some function that counts a variety of things in a single column

secondfunction = 45

end function

1 个答案:

答案 0 :(得分:1)

一种方式:

Sub dural()
    Dim FirstColumn As Range

    Set FirstColumn = Intersect(Selection(1).EntireColumn, Selection)
    MsgBox FirstColumn.Address
End Sub

enter image description here

此外:

Sub dural()
    MsgBox Selection.Columns(1).Address
End Sub

似乎可以解决问题。