From: Louis on
I hve found this code to delete all code within a workbook.

As soon the code reach the line If "ThisWorkbook.VBProject.Protection Then
Exit Sub" the code stop and a failure message appear "if without end if "

could you please help me with this issue.

Thanks


Sub ClearThisWorkbookCode()

Dim StartLine As Long, LineCount As Long
If ThisWorkbook.VBProject.Protection Then
Exit Sub
On Error Resume Next
With ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
StartLine = .ProcStartLine("Workbook_Open", 0)
If StartLine Then
LineCount = .ProcCountLines("Workbook_Open", 0)
.DeleteLines StartLine, LineCount
End If
End With
End Sub
From: Pieter on
On May 27, 12:57 pm, Louis <Lo...(a)discussions.microsoft.com> wrote:

Put an "End If" just after the Exit Sub that will clear the error.

Pieter



> I hve found this code to delete all code within a workbook.
>
> As soon the code reach the line If "ThisWorkbook.VBProject.Protection Then
> Exit Sub" the code stop and a failure message appear "if without end if "
>
> could you please help me with this issue.
>
> Thanks
>
> Sub ClearThisWorkbookCode()
>
> Dim StartLine As Long, LineCount As Long
> If ThisWorkbook.VBProject.Protection Then
>     Exit Sub
> On Error Resume Next
> With ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule
>     StartLine = .ProcStartLine("Workbook_Open", 0)
>     If StartLine Then
>         LineCount = .ProcCountLines("Workbook_Open", 0)
>         .DeleteLines StartLine, LineCount
>     End If
> End With
> End Sub