あなたのコメントに基づいて、変数が 0 のApplication-defined or object-defined error
ときに表示されます。Endcolumn
これは、ExcelRange
が 0 ベースではなく 1 ベースであるため、列 0 がないことを意味します。
特にエラー処理に最も関心があるように見えるので、大まかに次のように処理する必要があります。
Sub ErrorExample()
On Error GoTo ErrHandler ' Set the Error Handling Condition
' in this case, if an error occurs
' goto the ErrHandler label
' do stuff
Debug.Print "I am in `do stuff` code"
Range(Worksheets("Search Engine").Cells(9, 1),
Worksheets("Search Engine").Cells(Endcolumn,
Endrow + 2)).Select Selection.RowHeight = 20
Exit Sub ' Exit from the Sub gracefully and do not run the
' following lines of code (if this is not
' included, the ErrHandler code will run in all
' cases, not just error cases
Debug.Print "I will never run"
ErrHandler:
Debug.Print "I am in the error code"
' Code to run in case of error
ThisWorkbook.Worksheets("Search Engine").Protect ' protect your sheet
On Error GoTo 0 ' Reset the error handling condition
End Sub