VBA-return sum of range Werte aus anderen Arbeitsmappe

Ich versuche mit VBA in einem excel-Tabellenblatt (nennen wir es wbA) zu finden, die Summe der Werte in einem Zellbereich in einer anderen Arbeitsmappe (nennen, die wbB). Ich habe versucht, mit Hilfe eines maßgeschneiderten Summen-Funktion

Function sumrange(rng As Range)

summ = 0
For Each cell In rng
summ = summ + cell.Value
Next
sumrange = summ

End Function

welche ich auszuführen in der wbA-hier

Sub test4()
Dim app As New Excel.Application

Dim book As Excel.Workbook
Set book = app.Workbooks.Add("...\wbB.xlsm")

With book.Worksheets("November2013")

a = sumrange(Range("B5:T9"))

End With
MsgBox a
End Sub

Diese gibt die Summe der set-Angebot in der wbA statt wbB

ich habe auch versucht die worksheetfunction.Summe option in den folgenden Formaten

l = book.Worksheets("November2013").Application.WorksheetFunction.Sum(Range(B5:T9"))

und

With book.Worksheets("December2014")
p = Application.WorksheetFunction.Sum(Range(B5:T9"))
End With

aber beide caluclate und return die Summe der Reihe von wbA statt von wbB

Wie Schreibe ich den code zu finden, der die Summe der Reihe in wbB
Dank

Birdsview: Ändern Range("B5:T9") zu .Range("B5:T9") im a = sumrange(Range("B5:T9"))
immer ein "argument ist nicht optional" Fehler
Welche Linie? BTW sind Sie mit diesem innerhalb von excel?
geändert a = sumrange(Range("B5:T9")) a = sumrange.Range("B5:T9"))
Nein.. Siehe meine Antwort

InformationsquelleAutor user3041384 | 2013-11-27

Schreibe einen Kommentar