Ошибка времени выполнения 1004 Ошибка приложения или объекта При работе с ThisWorkbook с .Formula - PullRequest
0 голосов
/ 12 июня 2019

Я добавляю новую строку в таблицу каждый раз, когда в рабочую книгу добавляется новый лист, поэтому я пишу код в ThisWorkbook - событие NewSheet. Чтобы изменить формулу, которая автоматически записывается в новую строку, чтобы она выполняла поиск данных на новом листе, я перебираю столбцы и заменяю «2013» на фактический год (который является новым именем листа).
При первом запуске кода он работает отлично. Затем второй раз возвращает ошибку.
Я искал на форуме в течение нескольких дней, но не мог найти ответ. Я использую Excel 2016.

Я пробовал несколько вещей, но без теоретических знаний.

Private Sub Workbook_NewSheet(ByVal Sh As Object)
    Stop
    Dim lastfileStudyYear, lastfileSponsorYear, lastfileAnalythics As Long
    Dim i, uformula, lastyear, currentyear, newformula
    Dim StudyYear, SponsorYear, Analythics As ListObject
    Set StudyYear = Worksheets("Datos KPI").ListObjects("StudyvsYear")
    Set SponsorsAño = Worksheets("Datos KPI").ListObjects("SponsorsvsYear")
    Set Analythics = Worksheets("Datos KPI").ListObjects("Analythics")

    lastfileStudyYear = StudyYear.Range.Rows.Count + 1
    Worksheets("Datos KPI").Rows(lastfileStudyYear).Insert

    lastyear= Worksheets("Datos KPI").Cells(lastfileStudyYear- 1, 1).Value
    currentyear = lastyear + 1

    Worksheets("Datos KPI").Cells(lastfileStudyYear, 1).Value = currentyear 

    colStudyYear = StudyYear.DataBodyRange.Columns.Count

    For i = 2 To colStudyYear 
        newformula = StudyYear.DataBodyRange.Cells(lastfileStudyYear- 1, i).Formula
        newformula = Replace(newformula, "2013", currentyear)
        StudyYear.DataBodyRange.Cells(lastfileStudyYear- 1, i).Formula = newformula '<- HERE IS THE ERROR!!!!!!!!!!!!
    Next

Я ожидаю, что формула в Cell(lastfileStudyYear- 1, i) изменится с =COUNTIF(Estudios2013[FA],"x") до =COUNTIF(Estudios2020[FA],"x")

Но фактический результат - ОШИБКА.
Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...