ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Find Chart Sheets in workbook (https://www.excelbanter.com/excel-programming/402886-find-chart-sheets-workbook.html)

ExcelMonkey

Find Chart Sheets in workbook
 
I am trying to loop through the sheets in a workbook and test to see if the
which sheets are chart sheets. The code is failing is this because of the
way I have set up the wrksht variable (i.e. dim as worksheet)?

Function IsChartSheet() As Boolean
Dim wrksht As Worksheet
Dim chrtsht As Chart
On Error Resume Next

For Each wrksht In ThisWorkbook
Set chrtsht = ActiveWorkbook.Charts(wrksht.Name)
If Err = 0 Then
IsChartSheet = True
Debug.Print ActiveSheet.Name
Debug.Print "This is a chart sheet!"
Else
IsChartSheet = False
Debug.Print ActiveSheet.Name
Debug.Print "This is not a chart sheet!"
End If
On Error GoTo 0
Set chrtsht = Nothing
Next
End Function


Thanks

EM

Dave Peterson

Find Chart Sheets in workbook
 
Worksheets can't be chart sheets.

maybe you could use:

Dim sht as Object
for each sht in thisworkbook.sheets
msgbox typename(sht)
next sht

So you can test it for:

if typename(sht) = "Chart" then
'it's a chart sheet.
end if

Be careful. There are other types of sheets besides worksheets and chart
sheets.



ExcelMonkey wrote:

I am trying to loop through the sheets in a workbook and test to see if the
which sheets are chart sheets. The code is failing is this because of the
way I have set up the wrksht variable (i.e. dim as worksheet)?

Function IsChartSheet() As Boolean
Dim wrksht As Worksheet
Dim chrtsht As Chart
On Error Resume Next

For Each wrksht In ThisWorkbook
Set chrtsht = ActiveWorkbook.Charts(wrksht.Name)
If Err = 0 Then
IsChartSheet = True
Debug.Print ActiveSheet.Name
Debug.Print "This is a chart sheet!"
Else
IsChartSheet = False
Debug.Print ActiveSheet.Name
Debug.Print "This is not a chart sheet!"
End If
On Error GoTo 0
Set chrtsht = Nothing
Next
End Function

Thanks

EM


--

Dave Peterson

Jon Peltier

Find Chart Sheets in workbook
 
If you wanted to get the chart sheets, you could use this:

Dim Cht as Chart
For Each Cht In ActiveWorkbook.Charts
' Cht is a chart sheet
Next

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Tutorials and Custom Solutions
Peltier Technical Services, Inc. - http://PeltierTech.com
_______


"Dave Peterson" wrote in message
...
Worksheets can't be chart sheets.

maybe you could use:

Dim sht as Object
for each sht in thisworkbook.sheets
msgbox typename(sht)
next sht

So you can test it for:

if typename(sht) = "Chart" then
'it's a chart sheet.
end if

Be careful. There are other types of sheets besides worksheets and chart
sheets.



ExcelMonkey wrote:

I am trying to loop through the sheets in a workbook and test to see if
the
which sheets are chart sheets. The code is failing is this because of
the
way I have set up the wrksht variable (i.e. dim as worksheet)?

Function IsChartSheet() As Boolean
Dim wrksht As Worksheet
Dim chrtsht As Chart
On Error Resume Next

For Each wrksht In ThisWorkbook
Set chrtsht = ActiveWorkbook.Charts(wrksht.Name)
If Err = 0 Then
IsChartSheet = True
Debug.Print ActiveSheet.Name
Debug.Print "This is a chart sheet!"
Else
IsChartSheet = False
Debug.Print ActiveSheet.Name
Debug.Print "This is not a chart sheet!"
End If
On Error GoTo 0
Set chrtsht = Nothing
Next
End Function

Thanks

EM


--

Dave Peterson





All times are GMT +1. The time now is 12:24 PM.

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