Я пытался найти несколько разных тем, но не смог найти решение.
Мой макрос собирается передавать данные с одного листа на другой.Мне нужно использовать функцию AVERAGE
, чтобы получить среднее значение диапазона (на другом листе)
Я получаю ошибку RUN TIME ERROR 438
и не могу понять, почему.Я попытался использовать Application.WorksheetFunction
, но это не дает правильного результата и работает с функцией MAX
, но не с AVERAGE
.Я видел несколько решений, которые включают создание цикла и переменных, но я предполагал, что простое решение должно быть возможным.
Код ниже:
Option Explicit
Sub Step8CopytoLean()
Dim wblean As Workbook
Dim wbmaster As Workbook
Set wblean = Workbooks("SLA Reporting Lean.xlsx")
Set wbmaster = Workbooks("SLA Reporting MasterFile.xlsx")
Workbooks("Lean.xlsx").Activate
Worksheets("Data").Delete
Workbooks("MasterFile.xlsx").Activate
Worksheets("Data").Copy After:=Workbooks("Lean.xlsx").Sheets("Summary")
Workbooks("Lean.xlsx").Sheets("Summary").Activate
wblean.Sheets("Summary").Range("E4").Value = wbmaster.Sheets("Summary").Range("K20")
wblean.Sheets("Summary").Range("F4").Value = wbmaster.Sheets("Summary").Range("M20")
wblean.Sheets("Summary").Range("E5:E6").Value = wbmaster.Sheets("Summary").Average(Range("K9:K11")) 'line with error
wblean.Sheets("Summary").Range("F5").Value = wbmaster.Sheets("Summary").Max(Range("M8:M11")) 'line with error