2014-09-09 3 views
1

У меня есть этот кусок кода, который не любит работать:Sum диапазон и форматирование Error Sum

Dim ConcTotal as Double 

ConcTotal = Workbooks("MW_vs_RF.xls").Sheets(wbkTwo).Format$(Sum(Range("C4:C14")), "0.0000") 

где wbkTwo является специфической вкладкой в ​​этом формате XLS листе. Я просто пытаюсь суммировать диапазон на другом листе и назначать его ConcTotal. Каждый раз, когда я запускаю это, я получаю сообщение об ошибке «Ошибка компиляции: Sub или Function not defined», и он выделяет «Сумма» в моем коде выше. Я не вижу никаких проблем с кодом или как он написан, любая помощь по поводу того, почему я получаю эту ошибку, оценивается.

Благодаря

ответ

1

Используйте Application.Worksheetfuntion.Sum() вместо Sum()

Это то, что вы пытаетесь?

Sub Sample() 
    Dim ConcTotal As Double 
    Dim wb As Workbook 
    Dim ws As Worksheet 
    Dim rng As Range 

    Set wb = Workbooks("MW_vs_RF.xls") 
    Set ws = wb.Sheets(1) '~~> For testing purpose, replaced `wbkTwo` 
    Set rng = ws.Range("C4:C14") 

    ConcTotal = Format(Application.WorksheetFunction.Sum(rng), "0.0000") 

    Debug.Print ConcTotal 
End Sub 
+0

Я сделал код более точным, чтобы вы могли его легко понять. Возможно, вам придется обновить страницу, чтобы увидеть ее. –

+0

Я не вижу доступа к 'wb' или 'ws' в этом определении ConcTotal ... –

+0

Yup, я использую 'rng', который уже был объявлен. См. Команды 3 Set. –