Thread: Sheet code
View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Sheet code

Do you really just want Sheets 1 to 6 or to remove all code. If the latter:

This is an adaptation of code written and posted by Jim Rech:

Sub RemoveAllCodeFromCopy()
Const vbext_ct_StdModule As Long = 1
Const vbext_ct_ClassModule As Long = 2
Const vbext_ct_MSForm As Long = 3
Const vbext_ct_Document As Long = 100

Dim VBComp As Object, AllComp As Object, ThisProj As Object
Dim ThisRef As Object, WS As Worksheet, DLG As DialogSheet
Dim ThisBook As Workbook
On Error Resume Next
Kill "C:\Data1\Backup.xls"
On Error GoTo 0
ThisWorkbook.SaveCopyAs "C:\Data1\Backup.xls"
Set ThisBook = Workbooks.Open("C:\Data1\Backup.xls")
Set ThisProj = ThisBook.VBProject
Set AllComp = ThisProj.VBComponents
For Each VBComp In AllComp
With VBComp
Select Case .Type
Case vbext_ct_StdModule, vbext_ct_ClassModule, _
vbext_ct_MSForm
AllComp.Remove VBComp
Case vbext_ct_Document
.CodeModule.DeleteLines 1, _
.CodeModule.CountOfLines
End Select
End With
Next
For Each ThisRef In ThisProj.References
If Not ThisRef.BuiltIn Then _
ThisProj.References.Remove ThisRef
Next
Application.DisplayAlerts = False
For Each WS In Excel4MacroSheets
WS.Delete
Next
For Each DLG In DialogSheets
DLG.Delete
Next
End Sub

--
Regards,
Tom Ogilvy

courtesio99 wrote in message
...
Suppose I copy the entire workbook to another workbook...
How do I write the code for a button in the old workbook to delete the
sheet code for Sheets 1 and 6 of the new workbook?


---
Message posted from http://www.ExcelForum.com/