![]() |
Date reformat and export
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 |
Date reformat and export
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 |
Date reformat and export
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 |
All times are GMT +1. The time now is 06:12 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com