Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 10
Default How to capture a Property as a variable

I need to copy a number of sheets from other workbooks into one workbook.
For ease of identification I name each worksheet by its workbook.name
property.
Thus the copied sheets appear as "name.xls".
I would like to get rid off the .xls in the name.
I am able to do this by the following function
Do Until Mid(t, j, 1) = "."
y = y + Mid(t, j, 1)
j = j + 1
Loop
Since the workbook name changes as many times as I copy sheets.
I need to assign variable t = workbook.name property
I don't know what type of variable I need to declare.
I have tried variant etc but nothing works.
I have also tried to put [workbook.name]
Most of the time i get an error message that says that i require an object.
Am I on the right track? Can someone help?
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 205
Default How to capture a Property as a variable

Tisr,

Firstly the Mid function returns a string, so (as long as y is also a
string) if you're trying to concatenate y and the string then use an
ampersand:

y = y & Mid(t, j, 1)

't', as you you've got it in the "Mid" function should also be a string, so
you could use this:

Dim t As String
t = Workbook.Name

However you could also replace the loop with a "Len" function and count
backwards as you know that .xls is four characters, so:

Dim sNewSheetName As String
Dim wkbSource As Workbook

'Set the source workbook reference
'(Change this to the workbook you're after)
Set wkbSource = Application.ThisWorkbook

'Check wkb name ends with ".xls"
If Right(wkbSource.Name, 4) = ".xls" Then
'If so trim off file extension
sNewSheetName = Mid(wkb.Name, 1, (Len(wkb.Name) - 4))
End If

Anyway, hope I've understood you problem correctly

Best regards

John

"TISR" wrote in message
...
I need to copy a number of sheets from other workbooks into one workbook.
For ease of identification I name each worksheet by its workbook.name
property.
Thus the copied sheets appear as "name.xls".
I would like to get rid off the .xls in the name.
I am able to do this by the following function
Do Until Mid(t, j, 1) = "."
y = y + Mid(t, j, 1)
j = j + 1
Loop
Since the workbook name changes as many times as I copy sheets.
I need to assign variable t = workbook.name property
I don't know what type of variable I need to declare.
I have tried variant etc but nothing works.
I have also tried to put [workbook.name]
Most of the time i get an error message that says that i require an
object.
Am I on the right track? Can someone help?



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How capture a date variable within a text cell? Capture a variable date & use with text[_2_] Excel Discussion (Misc queries) 4 November 28th 08 02:34 AM
range variable won't assign (chartobject.topleftcell property) Matthew Dodds Excel Programming 2 November 16th 05 02:25 PM
how to use object variable to change the property of a Fendic[_13_] Excel Programming 4 August 6th 05 07:12 PM
variable for columns(??).property Neal Zimm Excel Programming 4 June 10th 05 02:28 PM
Capture Custom View in a Variable Randy[_10_] Excel Programming 1 July 11th 04 06:56 AM


All times are GMT +1. The time now is 09:34 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"