Freigeben über


Cell.Precedents-Eigenschaft (Visio)

Gibt ein Array von ShapeSheet-Zellen zurück, von denen die Formel einer anderen Zelle abhängt. Schreibgeschützt.

Syntax

Ausdruck. Präzedenzfälle

Ausdruck Eine Variable, die ein Cell-Objekt darstellt.

Rückgabewert

Cell()

HinwBemerkungeneise

Die Precedents-Eigenschaft gibt ein Array der Zellen zurück, die bewirken, dass das übergeordnete Cell-Objekt seinen Wert neu berechnet, wenn sich die Formel oder der Wert ändert.

Beispiel

Das folgende VBA-Makro (Microsoft Visual Basic for Applications) zeigt, wie die Precedents-Eigenschaft verwendet wird, um eine Liste von Zellen anzuzeigen, von denen die Zelle "Scratch.X1" einer Form abhängt. Das Makro zeichnet ein Rechteck auf dem aktiven Zeichenblatt, fügt dem ShapeSheet des Rechtecks einen Abschnitt Scratch hinzu und gibt dann eine Formel in eine Zelle dieses Abschnitts ein, die verwendet wird, um die Seiten des Rechtecks nach innen zu verschleifen, indem jede der Rechtecke zu einem Bogen geändert wird. Da die Formel, die zum Verschleifen der Seiten des Rechtecks verwendet wird, von der Breite und Höhe des Rechtecks abhängt, ist die Zelle, die die Formel Scratch.X1 enthält, von den Zellen Breite und Höhe der Rechteckform abhängig, sodass diese Zellen präzedenzisiert werden.

Public Sub Precedents_Example() 
 
 Dim acellPrecedentCells() As Visio.Cell 
 Dim vsoCell As Visio.Cell 
 Dim vsoShape As Visio.Shape 
 Dim strBowCell As String 
 Dim strBowFormula As String 
 Dim intCounter As Integer 
 
 'Set the value of the strBowCell string 
 strBowCell = "Scratch.X1" 
 
 'Set the value of the strBowFormula string 
 strBowFormula = "=Min(Width, Height) / 5" 
 
 'Draw a rectangle on the active page 
 Set vsoShape = ActivePage.DrawRectangle(1, 5, 5, 1) 
 
 'Add a scratch section and then 
 vsoShape.AddSection visSectionScratch 
 
 'Add a row to the scratch section 
 vsoShape.AddRow visSectionScratch, visRowScratch, 0 
 
 'Place the value of strBowFormula into Scratch.X1 
 'Set the Cell object to the Scratch.X1 and set formula 
 Set vsoCell = vsoShape.Cells(strBowCell) 
 
 'Set up the offset for the arc 
 vsoCell.Formula = strBowFormula 
 
 'Bow in or curve the original rectangle's lines by changing 
 'each row to an arc and entering the bow value 
 For intCounter = 1 To 4 
 
 vsoShape.RowType(visSectionFirstComponent, visRowVertex + intCounter) = visTagArcTo 
 Set vsoCell = vsoShape.CellsSRC(visSectionFirstComponent, visRowVertex + intCounter, 2) 
 vsoCell.Formula = "-" & strBowCell 
 
 Next intCounter 
 
 'Get the array of precedent cells 
 acellPrecedentCells = vsoShape.Cells("Scratch.X1").Precedents 
 
 'List the cell names and their associated formula 
 For intCounter = LBound(acellPrecedentCells) To UBound(acellPrecedentCells) 
 Set vsoCell = acellPrecedentCells(intCounter) 
 Debug.Print vsoCell.Name & " has this formula: " & vsoCell.Formula 
 Next 
 
End Sub

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.