View Single Post
  #8   Report Post  
Posted to microsoft.public.excel.programming
Mike H Mike H is offline
external usenet poster
 
Posts: 11,501
Default Strange probem with capitalization of object

Hi,

You confused me by referring to 'name' as an Object, it isn't. Activesheet
is the Object and Name is a property of that object.

But, I'm still no closer to understanding the issue. If the syntax you have
used is correct; and it is in the sample code you posted, then 'name' will
auto capitalise to Name.

The code you posted in you first post and the one in the second both work
for me.


--
Mike

When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.


"kevlarmcc" wrote:

I am not sure I am explaining it correctly. It's not the value for Name it is
the actual object Name.

Here is the code that works:

Sub RunAll()
For Each Worksheet In Worksheets
Select Case Worksheet.name 'This just skips the first sheet and isn't
crucial
Case "Report1"
Case Else

'Here is the issue; note name instead of Name
Worksheet.Activate
If ActiveSheet.name = "BGE" _
Then ActiveSheet.name = "Sheet999"
End Select
Next Worksheet
End Sub

Forgive me if the misunderstanding is mine; I am new to Excel code!


"Mike H" wrote:

Hi,

Text comparisons using = in VB are case sensitive. If you want to ignore
case try this simpler version of your code

Sub Rename_Shts()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If UCase(ws.Name) = "BGE" Then
ws.Name = "Sheet999"
End If
Next
End Sub

--
Mike

When competing hypotheses are otherwise equal, adopt the hypothesis that
introduces the fewest assumptions while still sufficiently answering the
question.


"kevlarmcc" wrote:

I have two copies of code that I swear are indentical except for the
captialization of an object, which seems to be automatic. Somehow one copy of
the code doesn't auto cap the object and it is that copy that works. Code is
below:

Sub RunAll()

For Each Worksheet In Worksheets
Select Case Worksheet.Name
Case "Report 1"
Case Else
Worksheet.Activate
If ActiveSheet.Name = "BGE" Then _
ActiveSheet.Name = "Sheet999"
End Select
Next Worksheet
End Sub

When Name is capped, it doesn't work. With lowercase name it works. I can't
seem to replicate the non-capped object because when writing new code it
won't let me not capitalize it. I am not sure what I did to get the object
not capitalized in the first place. Anyone understand this?