我想创建一个函数,其中包含一个范围作为输入。 这个范围是1排?列或1列?行。换句话说,它将是"一维" - 水平或垂直。
根据是H还是V,将进行某些计算。 如何确定传递的范围是水平还是垂直?
答案 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
,它是水平的(假设,就像你说的那样,你只有行或列)。