2016-03-31 12 views
0

Ich arbeite an einem OR-Problem in Excel, und ich versuche, die Zellen in der Matrix aufzulisten, die Werte enthalten. Zum Beispiel, wenn ich die Identitätsmatrix hätte, möchte ich, dass die Funktion die Werte A1, B2, C3 zurückgibt.Ist es möglich, die Zellen aufzulisten, die Werte in Excel enthalten?

Der Grund dafür ist, ich möchte variable Zellen für diejenigen, die Werte enthalten, die wahr sind. Ich werde dann diese Zellen in Solver verwenden.

Antwort

0

Hier eine Funktion, die Ihnen diese Adressen für einen Bereich in einer Sammlung zurückgibt.

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 
+0

Wie genau funktioniert eine Sammlung? Kommt das als eine Reihe von Zellen zurück, die ich verketten kann? – Dwevon

0

Hier ist so ziemlich alles, was Sie mit einer Sammlung tun können. Sie sollten es selbst ausprobieren. Geben Sie eine Matrix von Werten in ein Blatt ein, wählen Sie den Bereich und rufen Sie das Testmakro auf.

Es enthält was auch immer Sie in es, in diesem Fall sind es Bereiche.