2016-10-25 2 views
0

Der erste Ansatz neu zu berechnen, wird in is it possible to recalculate only a cell or a range in VBA vorgeschlagen 's reply:Verschiedene Möglichkeiten, eine Zelle oder einen Bereich in VBA

Range("A1").Calculate 

Der zweite Ansatz ist in How do you get Excel to refresh data on sheet from within VBA?' s reply:

Cells(RowA,ColB).Formula = Cells(RowA,ColB).Formula 

Die dritte

Range("XXX").Value = Range("XXX").Value 

scheint auch Arbeit.

Gibt es einen Unterschied zwischen den drei?

Antwort

1
  1. .Calculate: Weist Excel an, die Formel im angegebenen Bereich neu zu berechnen. Ich denke nicht, dass dies für eine UDF funktioniert, es sei denn, Application.Volatile

  2. .Formula: Weist die Formel im angegebenen Bereich. Ähnlich wie wenn Sie in die Zelle klicken und dann die Eingabetaste drücken, ohne Änderungen vorzunehmen. Wird fehlschlagen, wenn Sie einen Bereich größer als eine Zelle haben.

  3. .Wert: Überschreibt die Formel mit dem Wert. Ähnlich wie beim Kopieren/Einfügen von Werten. Wird fehlschlagen, wenn Sie einen Bereich größer als eine Zelle haben.

+0

Do 2 & 3 erzwingen die Neuberechnung des Bereichs oder der Zelle? Gibt es einen Unterschied in der Wirkung? – athos

+0

In zwei oder drei Fällen können Sie keinen Bereich größer als eine Zelle haben, also sind die Reichweite und die Zelle identisch. Bei drei verlieren Sie Ihre Formel, da sie mit dem Wert überschrieben wird (der nicht zuerst neu berechnet wird). –

Verwandte Themen