【发布时间】:2015-01-08 20:45:02
【问题描述】:
我创建了一个 Excel 工作簿,它根据在主选项卡中所做的选择“生成”新表单(选项卡)。背景:我隐藏了我创建的预定义选项卡,并且基于在主选项卡中所做的选择,我的 VBA 代码将复制特定隐藏选项卡中的内容并将内容粘贴到通过 VBA 自动创建的新选项卡。具有粘贴内容的新选项卡还包含一个表单控件(按钮)。
在 Excel 2010 及更高版本中一切正常,但在 Excel 2007 中,我粘贴的内容选项卡中缺少表单按钮。我找不到我的代码有任何问题,也无法确定为什么按钮也没有被复制。
检查工作表是否退出的代码,如果没有,则创建一个新选项卡并将内容从隐藏选项卡复制到新创建的选项卡。
我的代码的哪一部分与 Excel 2007 不兼容,我该如何解决这个问题?
Sub NewWorkSheetProcess(ByVal b As String)
Dim numLines As Integer
Dim requestType, clientNumber, clientName, processType, screenName, ProcessName
requestType = Sheets("FrontPage").Range("c9")
clientNumber = Sheets("FrontPage").Range("c7")
clientName = Sheets("FrontPage").Range("c5")
processType = Sheets("FrontPage").Range("c11")
screenName = Sheets("FrontPage").Range("c13")
ProcessName = Sheets("FrontPage").Range("c15")
If Not SheetExists(b) Then
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = b
Sheets("MainProcess").Cells.Copy Worksheets(b).Range("A1")
Worksheets(b).Cells(5, 3).Value = ProcessName
Worksheets(b).Cells(7, 3).Value = clientName
Worksheets(b).Cells(8, 3).Value = processType
Worksheets(b).Cells(6, 3).Value = screenName
Worksheets(b).Cells(9, 3).Value = Worksheets(b).Name
End If
If Worksheets(b).Name = "Modify Process" Then
MsgBox "Please ensure to highlight/notate all required configuration changes. -Thank you!", VbMsgBoxStyle.vbInformation, "Courtesy Message"
End If
End Sub
更新:我尝试在我的副本之前添加Application.CopyObjectsWithCells = True,但仍然无法正常工作。
【问题讨论】:
标签: excel excel-2007 excel-2013 vba