运行时错误1004应用程序定义或对象定义的错误使用.Formula处理ThisWorkbook时

时间:2019-06-12 14:14:46

标签: excel vba

每次将新表添加到工作簿时,我都会在表中添加新行,这就是为什么我在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")

但是实际输出是错误。
非常感谢!

0 个答案:

没有答案
相关问题