2017-04-30 1 views
-1

Neu bei Stackoverflow - versuchen, die Summe einer Reihe von Zellen in einer Variablen zu speichern. Die Formel, die ich verwende, ist wie folgt:Excel VBA - Variable gleich Summenwert funktioniert nicht

Sub obtainhours() 

Dim Total As Integer 

Worksheets("22012017").Activate 
Total = WorksheetFunction.Sum(Range("D2,D50")) 


End Sub 

Jede Hilfe wäre sehr willkommen!

Danke

+1

Willkommen bei SO. Sie müssen Ihr Blatt zu diesem Zweck nicht aktivieren. Dein Fehler ist, dass du "," anstelle von ":" verwendest. Probieren Sie diese "Summe = WorksheetFunction.Sum (Arbeitsblätter (" 22012017 "). Bereich (" D2: D50 "))' – Tehscript

Antwort

0

Zuerst Sie Total Wie Long erklären sollte, da es numerische Werte zu speichern ist in der Lage größer als Integer (>32767).

Auch Why use Long instead of Integer

sollten Sie mit Activate vermeiden, wie es Ihrem Code der Laufzeit verlangsamt, stattdessen vollständig qualifiziertes Objekt verwenden, indem die With Anweisung umzusetzen.

Sub obtainhours() 

Dim Total As Long 

With Worksheets("22012017") 
    ' Option 1: get the Sum of cells "D2" and "D50" only 
    Total = WorksheetFunction.Sum(.Range("D2,D50")) 

    ' Option 2: get the Sum of cells "D2 through cell "D50" 
    Total = WorksheetFunction.Sum(.Range("D2:D50")) 
End With 

End Sub 
Verwandte Themen