ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Dim cht as Object Constant Declaration (https://www.excelbanter.com/excel-programming/413067-dim-cht-object-constant-declaration.html)

R Tanner

Dim cht as Object Constant Declaration
 
I have the simplest question ever. Why can I not declare this
variable? I think if you can give me a good answer you will solve my
confusion on declaring constants..

Dim cht As Object

cht = Sheets("Cheet4").ChartObjects("Chart 5").Chart


Thanks and sorry I post so many questions...

Dave Peterson

Dim cht as Object Constant Declaration
 
If you declare a variable as an object (including range or worksheet or workbook
or...), then you have to use the Set command:

Set cht = ....

R Tanner wrote:

I have the simplest question ever. Why can I not declare this
variable? I think if you can give me a good answer you will solve my
confusion on declaring constants..

Dim cht As Object

cht = Sheets("Cheet4").ChartObjects("Chart 5").Chart

Thanks and sorry I post so many questions...


--

Dave Peterson

Bob Phillips

Dim cht as Object Constant Declaration
 
It ius an object, so needs setting

Set cht = Sheets("Cheet4").ChartObjects("Chart 5").Chart


--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"R Tanner" wrote in message
...
I have the simplest question ever. Why can I not declare this
variable? I think if you can give me a good answer you will solve my
confusion on declaring constants..

Dim cht As Object

cht = Sheets("Cheet4").ChartObjects("Chart 5").Chart


Thanks and sorry I post so many questions...




RyanH

Dim cht as Object Constant Declaration
 
Your current code is using cht as a property of the "Chart 5". If you are
just wanting the Chart Property returned use this below.

Dim cht As Chart

cht = Sheets("Cheet4").ChartObjects("Chart 5").Chart

If you want cht as a Chart Object then use this:

Dim cht As ChartObject

Set cht = Sheets("Cheet4").ChartObjects("Chart 5")

Ryan



"R Tanner" wrote:

I have the simplest question ever. Why can I not declare this
variable? I think if you can give me a good answer you will solve my
confusion on declaring constants..

Dim cht As Object

cht = Sheets("Cheet4").ChartObjects("Chart 5").Chart


Thanks and sorry I post so many questions...


Chip Pearson

Dim cht as Object Constant Declaration
 
The value of a Constant is defined when you write the code. You can't modify
the value of a constant at run time. Moreover, your code is missing the Set
statement which is required when you assign any sort of object to a
variable.

Dim CHT As Excel.Chart
Set CHT = Worksheets(1).ChartObjects(1).Chart ' Note 'Set' keyword
Debug.Print CHT.Name

Without the 'Set' keyword, VBA will attempt to find the Default property of
the Chart object, and I don't think there is a default property of a Chart
object.


--
Cordially,
Chip Pearson
Microsoft Most Valuable Professional
Excel Product Group
Pearson Software Consulting, LLC
www.cpearson.com
(email on web site)





"R Tanner" wrote in message
...
I have the simplest question ever. Why can I not declare this
variable? I think if you can give me a good answer you will solve my
confusion on declaring constants..

Dim cht As Object

cht = Sheets("Cheet4").ChartObjects("Chart 5").Chart


Thanks and sorry I post so many questions...




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

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