ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Test for the existence of a worksheet? (https://www.excelbanter.com/excel-programming/385556-test-existence-worksheet.html)

Damien McBain[_3_]

Test for the existence of a worksheet?
 
Hi,

I need to test for the existence of a worksheet with a given name.
Presently I'm using some code I found on the net like:

On Error Resume Next
Set xlobj = Workbooks(WorkBookName).Worksheets(SheetName)
If Err = 0 Then
do something
else
do another thing

End If

I find that this is an awkward way to perform the test because my
If..Then..Else is False no matter which error occurs.

Is there a more definitive way to perform the test?

TIA
--
Damien

OssieMac

Test for the existence of a worksheet?
 
Hi Damien,

Try this.

Sub Test_For_Sheet_Name()

Dim Sht
Dim GivenShtName

GivenShtName = "Sheet1"

For Each Sht In Sheets
If Sht.Name = GivenShtName Then
MsgBox "The sheet name " & GivenShtName & " found"
End If
Next Sht

End Sub

Regards,

OssieMac

"Damien McBain" wrote:

Hi,

I need to test for the existence of a worksheet with a given name.
Presently I'm using some code I found on the net like:

On Error Resume Next
Set xlobj = Workbooks(WorkBookName).Worksheets(SheetName)
If Err = 0 Then
do something
else
do another thing

End If

I find that this is an awkward way to perform the test because my
If..Then..Else is False no matter which error occurs.

Is there a more definitive way to perform the test?

TIA
--
Damien


Mike

Test for the existence of a worksheet?
 
One way

Sub isitthere()
Dim wSheet As Worksheet
On Error Resume Next
Set wSheet = Sheets("Sheet1") 'change as required
If wSheet Is Nothing Then
MsgBox "Worksheet does not exist", vbCritical
Set wSheet = Nothing
On Error GoTo 0
Else
MsgBox "Sheet 1 does exist", vbInformation
Set wSheet = Nothing
On Error GoTo 0
End If
End Sub

Mike

"Damien McBain" wrote:

Hi,

I need to test for the existence of a worksheet with a given name.
Presently I'm using some code I found on the net like:

On Error Resume Next
Set xlobj = Workbooks(WorkBookName).Worksheets(SheetName)
If Err = 0 Then
do something
else
do another thing

End If

I find that this is an awkward way to perform the test because my
If..Then..Else is False no matter which error occurs.

Is there a more definitive way to perform the test?

TIA
--
Damien


Stefi

Test for the existence of a worksheet?
 
Not my invention, I found this function in this forum, but I forgot the
author's name, sorry!

Function SheetExists(Sh As String, _
Optional wb As Workbook) As Boolean
'-----------------------------------------------------------------
Dim oWs As Worksheet
If wb Is Nothing Then Set wb = ActiveWorkbook
On Error Resume Next
SheetExists = CBool(Not wb.Worksheets(Sh) Is Nothing)
On Error GoTo 0
End Function

Regards,
Stefi

€žDamien McBain€ť ezt Ă*rta:

Hi,

I need to test for the existence of a worksheet with a given name.
Presently I'm using some code I found on the net like:

On Error Resume Next
Set xlobj = Workbooks(WorkBookName).Worksheets(SheetName)
If Err = 0 Then
do something
else
do another thing

End If

I find that this is an awkward way to perform the test because my
If..Then..Else is False no matter which error occurs.

Is there a more definitive way to perform the test?

TIA
--
Damien


Dave Peterson

Test for the existence of a worksheet?
 
It looks like Chip Pearson's.

Stefi wrote:

Not my invention, I found this function in this forum, but I forgot the
author's name, sorry!

Function SheetExists(Sh As String, _
Optional wb As Workbook) As Boolean
'-----------------------------------------------------------------
Dim oWs As Worksheet
If wb Is Nothing Then Set wb = ActiveWorkbook
On Error Resume Next
SheetExists = CBool(Not wb.Worksheets(Sh) Is Nothing)
On Error GoTo 0
End Function

Regards,
Stefi

€žDamien McBain€ť ezt Ă*rta:

Hi,

I need to test for the existence of a worksheet with a given name.
Presently I'm using some code I found on the net like:

On Error Resume Next
Set xlobj = Workbooks(WorkBookName).Worksheets(SheetName)
If Err = 0 Then
do something
else
do another thing

End If

I find that this is an awkward way to perform the test because my
If..Then..Else is False no matter which error occurs.

Is there a more definitive way to perform the test?

TIA
--
Damien


--

Dave Peterson

Damien McBain[_3_]

Test for the existence of a worksheet?
 
Dave Peterson wrote:

It looks like Chip Pearson's.

Stefi wrote:

Not my invention, I found this function in this forum, but I forgot the
author's name, sorry!

Function SheetExists(Sh As String, _
Optional wb As Workbook) As Boolean
'-----------------------------------------------------------------
Dim oWs As Worksheet
If wb Is Nothing Then Set wb = ActiveWorkbook
On Error Resume Next
SheetExists = CBool(Not wb.Worksheets(Sh) Is Nothing)
On Error GoTo 0
End Function


Thanks y'all :)


All times are GMT +1. The time now is 11:37 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com