我對VBA很新穎。我有一個包含20個工作表的電子表格。有一個宏,每15分鐘運行一次,它將在工作表5,10,15和20上顯示數據。我希望能夠每隔15分鐘以.csv格式自動將這些數據保存在這些工作表中。每15分鐘自動將某些Excel表格(xlsm文件)保存爲.csv
該電子表格被稱爲'Events.xlsm';我想要保存的工作表是事件總數,事件總數(2),事件總數(3)和事件總數(4)。我曾試圖根據本網站上的其他示例保存其中一個工作表。不知道我是否在正確的軌道上。
Sub SaveWorksheetsAsCsv()
Dim WS As Excel.Worksheet
Dim SaveToDirectory As String
Dim CurrentWorkbook As String
Dim CurrentFormat As Long
CurrentWorkbook = ThisWorkbook.Events
CurrentFormat = ThisWorkbook.xlsm
' Store current details for the workbook
SaveToDirectory = "S:\test\"
For Each WS In Day Event.Worksheets
Sheets(WS.Event Total).Copy
ActiveWorkbook.SaveAs Filename:=SaveToDirectory & ThisWorkbook.Events & "-" & WS.Event Total & ".csv", FileFormat:=xlCSV
ActiveWorkbook.Close savechanges:=False
ThisWorkbook.Activate
Next
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=CurrentWorkbook, FileFormat:=CurrentFormat
Application.DisplayAlerts = True
' Temporarily turn alerts off to prevent the user being prompted
' about overwriting the original file.
End Sub
歡迎來到VBA社區!請編輯您的問題,包括您迄今在這項工作中所取得的成就。 – Jeeped
Excel宏是基於事件的,它不能每15分鐘自動觸發一次,除非yr宏保持運行並且永不停止。 –
@EricK。 - 具有循環和結束時間語句的'Application.OnTime'可以每15分鐘運行一次宏。 –