I already have a script in an Excel sheet working. I have mentioned it below:
Sub Auto_Open()
'
' Auto_Open Macro
'
ActiveWorkbook.RefreshAll
'
End Sub
Private Sub Workbook_Open()
Worksheets("Sheet2").Range("A4:BX33").Copy
Worksheets("November").Range("C3").PasteSpecial Transpose:=True
Worksheets("Sheet2").Range("A34:BX64").Copy
Worksheets("December").Range("C3").PasteSpecial Transpose:=True
Worksheets("Sheet2").Range("A65:BX95").Copy
Worksheets("January").Range("C3").PasteSpecial Transpose:=True
Worksheets("Sheet2").Range("A96:BX123").Copy
Worksheets("February").Range("C3").PasteSpecial Transpose:=True
Worksheets("Sheet2").Range("A124:BX154").Copy
Worksheets("March").Range("C3").PasteSpecial Transpose:=True
Worksheets("Sheet3").Range("A2:BX100").Copy
Worksheets("Weekly").Range("C3").PasteSpecial Transpose:=True
Worksheets("Sheet4").Range("A2:DZ100").Copy
Worksheets("Monthly Figures").Range("C2").PasteSpecial Transpose:=True
Worksheets("Sheet5").Range("A2:BX100").Copy
Worksheets("All Time Figures").Range("C1").PasteSpecial Transpose:=True
Application.CutCopyMode = False
End Sub
Thanks to the great people on SO this code works great. Now the additional functionalities I want to add are:
a) Open this sheet automatically at 6 A.M. everyday. b) Save it without any prompts in Excel. c) Close the sheet.
I searched online and came up with these solutions:
Private Sub Workbook_Open()
Application.OnTime TimeValue("15:00:00"), "mymacro"
End Sub
Workbooks.Open Filename:="C:\test.xls"
Workbooks("Test.xls").Close
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Save
End Sub
Kindly advise on how to integrate the above given ideas into my existing script and how to optimise the script.
One issue I am faceing with the current script is that before the refresh of data is over, the transpose happens. Is there anyway to solve this too.
Thank you in advance for your help.
WIth regards, Manus