每次将新表添加到工作簿时,我都会在表中添加新行,这就是为什么我在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")
但是实际输出是错误。
非常感谢!