我正在处理Excel中的OR问题,我正在尝试列出矩阵中包含值的单元格。例如,如果我有单位矩阵,我希望函数返回值A1,B2,C3。
原因是,我想为包含值为true的那些创建可变单元格。然后我将在求解器中使用这些单元格。
答案 0 :(得分:0)
这是一个函数,它将返回集合中范围的那些地址。
Public Function hasValue(matrix As Range) As Collection
Set hasValue = New Collection
Dim c As Range
For Each c In matrix
If c.Value Then
hasValue.Add c
End If
Next c
End Function
答案 1 :(得分:0)
这里有几乎所有你可以用集合做的事情。你应该自己尝试一下。在工作表中输入值矩阵,选择范围并调用测试宏。
Public Sub test()
Dim r As Collection
Set r = hasValue(Selection)
Debug.Print " number of elements: " & r.Count
r.Remove (1)
Debug.Print " number of elements: " & r.Count
Debug.Print TypeName(r(1))
Dim c As Range
For Each c In r
Debug.Print c.Address
Debug.Print c.Value
Next c
End Sub
它包含您放入的任何对象,在这种情况下它是范围。