我正在尝试将数据从现有工作簿添加到新的工作簿代码模块。我的大部分代码都运行得很好,但由于某些原因,我的.deletelines事件无法工作。我正在尝试删除Workbook_Open事件过程中的现有行(此工作簿是具有现有过程的工作簿的副本,我想要一个不同的新过程)。并且这段代码不会删除这些行。然而,当我去掉这一行时,它只是创建了一个新的Workbook_Open事件过程,然后我有了两个事件过程,然后我得到了一个错误。到目前为止,这是我的代码。
'make data chart
Dim y As Workbook
Dim z As Workbook
Dim y1 As Worksheet
Dim z1 As Worksheet
Set y = Workbooks.Open(sPath)
Set z = Workbooks.Open("P:\HQ INVENTORY\Test Charts\Acs Pull-Chart to edit.xlsm")
Set y1 = y.Worksheets("ACS Pull-Chart to edit")
Set z1 = Workbooks("ACS Pull-Chart to edit.xlsm").Worksheets("ACS Pull-Chart to
edit")
'add code to new workbook
Dim xPro As VBIDE.VBProject
Dim xCom As VBIDE.VBComponent
Dim xMod As VBIDE.CodeModule
Dim xLine As Long
With y
Set xPro = .VBProject
Set xCom = xPro.VBComponents("ACSWorkbook")
Set xMod = xCom.CodeModule
With xMod
xLine = .DeleteLines(.CountOfLines - 3, 3)
xLine = .CreateEventProc("Open", "Workbook")
xLine = xLine + 1
.InsertLines xLine, " Dim y As Workbook"
xLine = xLine + 1
.InsertLines xLine, " Dim z As Workbook"
xLine = xLine + 1发布于 2020-06-05 00:05:17
我意识到我需要在自己的行上使用.DeleteLines事件,因此之前通过设置xline=88(行号),然后在.DeleteLines xline下面的下一行建立了行号
With xMod
xLine = 88
.InsertLines xLine, ""
xLine = xLine + 1
.DeleteLines xLine
.InsertLines xLine, " Dim y As Workbook"
xLine = xLine + 1https://stackoverflow.com/questions/62198022
复制相似问题