2017-07-18 11 views
2

Ich versuche, eine VBA zu erstellen, die die Berechnung einer bestimmten Spalte/eines Bereichs von Spalten auf manuell innerhalb einer Tabelle setzt, die automatisch berechnet wird.VBA zum Berechnen einer bestimmten Auswahl in einer Tabelle (Excel)

Da das Dashboard bereits so langsam ist, möchte ich nicht, dass diese spezifischen Spalten/Bereiche automatisch wie der Rest der Tabelle berechnet werden. Ich benutze diese VBA, aber meine ganze Tabelle berechnet immer noch automatisch, wenn ich zuerst meine cust # in mein Excel-Dashboard lade.

Sub Recalc() 
Selection.Calculate 
End Sub 

Irgendwelche Ideen?

+0

'Selection.Calculate' neu berechnet die Auswahl, deaktivieren nicht die Berechnungen für die Auswahl . Die Berechnungen können nur für die gesamte Anwendung und nicht für bestimmte Bereiche deaktiviert werden. –

+0

Das beantwortet meine Frage, danke. – Coopa

Antwort

2

Sie können Berechnungen nicht direkt in einen bestimmten Abschnitt ein- oder ausschalten, sie muss für die Anwendung gelten. Am besten ist es, wenn Sie alle Berechnungen für die Anwendung deaktivieren, aber ein Änderungsmakro neu berechnen, wenn Änderungen mit einem bestimmten Bereich ausgeführt werden. Dies müßte in dem entsprechenden BLATT Abschnitt eines VBA-Editor geschrieben werden, Modul nicht

Beispiel:

Private Sub Worksheet_Change(ByVal Target As Range) 

If Not Intersect(Target, Range("B3:Z100")) Is Nothing Then 
Range("B3:Z100").Calculate 
End If 

End Sub 
Verwandte Themen