#excel #vba
#excel #vba
Вопрос:
Как мне исправить этот код, потому что он выдает: «Объект не поддерживает это свойство или метод»
Sub macro1()
Workbooks("OUTPUT.xls").Sheets("Sheet1").Activate
ActiveSheet.Range("B4") = _
Workbooks("INPUT.xlsx").Sheets("Sheet1").Sum(Range("D40:D50"))
End Sub
Приведенный выше код отлично работает при настройке как:
Sub macro2()
Workbooks("OUTPUT.xls").Sheets("Sheet1").Activate
ActiveSheet.Range("B4") = _
Workbooks("INPUT.xlsx").Sheets("Sheet1").Range("D40")
End Sub
Однако это неприемлемое решение, потому что я хочу суммировать () по диапазону (), как описано в macro1 ().
Ответ №1:
попробуйте
ActiveSheet.Range("B4").Formula = Application.WorksheetFunction.Sum(Range("D40:D50"))
Ответ №2:
В WorkSheet нет функции sum, попробуйте вместо этого использовать WorksheetFunction:
Sub macro1()
Workbooks("OUTPUT.xls").Sheets("Sheet1").Activate
ActiveSheet.Range("B4") = _
Application.WorksheetFunction.Sum(Workbooks("INPUT.xlsx").Sheets("Sheet1").Range("D40:D50"))
End Sub