Excel VBA:确定范围是水平还是垂直

时间:2014-04-18 10:28:21

标签: excel vba excel-vba

我想创建一个函数,其中包含一个范围作为输入。 这个范围是1排?列或1列?行。换句话说,它将是"一维" - 水平或垂直。

根据是H还是V,将进行某些计算。 如何确定传递的范围是水平还是垂直?

2 个答案:

答案 0 :(得分:2)

这个怎么样:

Function RangeIsVertical(rng As Range) As Boolean
    RangeIsVertical = IIf(rng.Columns.Count = 1, 1, 0)
End Function

Sub Test()
    Debug.Print RangeIsVertical(Range("A1")) //True
    Debug.Print RangeIsVertical(Range("A1:A10")) //True
    Debug.Print RangeIsVertical(Range("A1:B2")) //False
End Sub

答案 1 :(得分:1)

如果Range.Columns.Count=1那么它是垂直的。如果Range.Rows.Count=1,它是水平的(假设,就像你说的那样,你只有行或列)。

相关问题