我想创建一个函数,其中有一个范围作为输入。
这个范围将是 1 行?列或 1 列由 ?行。换句话说,它将是“一维的”——水平或垂直。

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

最佳答案

这个怎么样:

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

关于vba - Excel VBA : Determine if range is horizontal or vertical,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23152216/

10-12 18:28