Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
To all,
I have a workbook that contains many worksheets named after a date for example 2007911(1), 2007911(2) etc. (Format - yyyyddmm) I want to be able to run a macro that will strip all the () (brakets) out of the dates and insert an _, i.e. turn 2007911(1) into 2007911_1 and 2007911_2 etc. I then want to be able to copy all the sheets in this format to a workbook called PAT.xls. and then run or call a macro named 'test' which is in a module in PAT.xls. I have a worksheet called control which I do not wish to copy over to PAT.xls. Is there an easy way to do this? Thanks Thanks in advance for your help, Regards Joseph Crabtree |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() Sub fixsheetname() For Each sht In ActiveWorkbook.Sheets If InStr(sht.Name, "(") 0 Then bracketpos = InStr(sht.Name, "(") prefixname = Trim(Left(sht.Name, bracketpos - 1)) shtnumber = Trim(Mid(sht.Name, bracketpos + 1)) shtnumber = Trim(Left(shtnumber, InStr(shtnumber, ")") - 1)) sht.Name = prefixname & "_" & shtnumber End If Next sht End Sub "joecrabtree" wrote: To all, I have a workbook that contains many worksheets named after a date for example 2007911(1), 2007911(2) etc. (Format - yyyyddmm) I want to be able to run a macro that will strip all the () (brakets) out of the dates and insert an _, i.e. turn 2007911(1) into 2007911_1 and 2007911_2 etc. I then want to be able to copy all the sheets in this format to a workbook called PAT.xls. and then run or call a macro named 'test' which is in a module in PAT.xls. I have a worksheet called control which I do not wish to copy over to PAT.xls. Is there an easy way to do this? Thanks Thanks in advance for your help, Regards Joseph Crabtree |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I added to the code the COPY request. the code assumes the workbook PAT.XLS
is opend Sub fixsheetname() For Each sht In ActiveWorkbook.Sheets If InStr(sht.Name, "(") 0 Then bracketpos = InStr(sht.Name, "(") prefixname = Trim(Left(sht.Name, bracketpos - 1)) shtnumber = Trim(Mid(sht.Name, bracketpos + 1)) shtnumber = Trim(Left(shtnumber, InStr(shtnumber, ")") - 1)) sht.Name = prefixname & "_" & shtnumber With Workbooks("Pat.xls") sht.Copy after:=.Sheets(.Sheets.Count) End With End If Next sht End Sub "Joel" wrote: Sub fixsheetname() For Each sht In ActiveWorkbook.Sheets If InStr(sht.Name, "(") 0 Then bracketpos = InStr(sht.Name, "(") prefixname = Trim(Left(sht.Name, bracketpos - 1)) shtnumber = Trim(Mid(sht.Name, bracketpos + 1)) shtnumber = Trim(Left(shtnumber, InStr(shtnumber, ")") - 1)) sht.Name = prefixname & "_" & shtnumber End If Next sht End Sub "joecrabtree" wrote: To all, I have a workbook that contains many worksheets named after a date for example 2007911(1), 2007911(2) etc. (Format - yyyyddmm) I want to be able to run a macro that will strip all the () (brakets) out of the dates and insert an _, i.e. turn 2007911(1) into 2007911_1 and 2007911_2 etc. I then want to be able to copy all the sheets in this format to a workbook called PAT.xls. and then run or call a macro named 'test' which is in a module in PAT.xls. I have a worksheet called control which I do not wish to copy over to PAT.xls. Is there an easy way to do this? Thanks Thanks in advance for your help, Regards Joseph Crabtree |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Reformat a date imported from another program | Excel Worksheet Functions | |||
How do I reformat a 6-digit date to general & look the same? | Excel Discussion (Misc queries) | |||
Copy pasting and reformat Date | Excel Discussion (Misc queries) | |||
reformat cells for date | Excel Discussion (Misc queries) | |||
To reformat a culculated date/time round-up to the nearest ½ hour | Excel Programming |