Хи, у меня есть рабочая тетрадь по Excel, состоящая из шести листов. В книге все работает нормально. Я написал макрос, который помогает мне делать резервную копию текущей книги вместо текущего листа. Код такой, как показано ниже.
Sub FileSaveAs()
Dim strFolder As String
Dim i As Long
'Find the position of the period in the file name
i = InStr(ActiveWorkbook.Name, ".")
'Create a default file name by concatenating the file name without the extention _
plus the current date and time, and plus the xlsm extention
Filename = Left(ActiveWorkbook.Name, i - 1) & "_" & Format(Now, "yyyy-mm-dd_hh mm") & ".xlsm"
'Open Save As dialog to a default folder with default file name
With Application.FileDialog(msoFileDialogSaveAs)
.AllowMultiSelect = False
.FilterIndex = 2 '2 = xlsm
.InitialFileName = "Report" & Filename
.InitialView = msoFileDialogViewDetails
If .Show = -1 Then strFolder = .SelectedItems(1) Else Exit Sub
.Execute
End With
End Sub
Он отлично работает для создания резервной копии книги вместо текущего рабочего листа без потери каких-либо данных, форматирования или настроек на листе. У меня две проблемы. 1- Когда я нажимаю кнопку резервного копирования, активная книга закрывается и открывается книга резервного копирования. 2- Я изо всех сил старался сделать резервную копию текущего рабочего листа без потери каких-либо данных или форматирования, но я не делаю этого в облаке, потому что все, когда я нажимаю кнопку резервного копирования для текущего рабочего листа (я написал еще один макрос, чтобы сделать резервную копию для текущий рабочий лист, но он не работает, поэтому я не писал его здесь) потеряно.
Что я хочу сделать. Я хочу сделать две вещи. 1- Когда я нажимаю кнопку резервного копирования, исходный рабочий лист остается открытым, в то время как рабочий лист резервного копирования должен оставаться закрытым, чтобы я мог делать резервные копии разных имен из одного и того же основного рабочего листа. 2- Если возможно, мне нужен макрос, который поможет мне сделать резервную копию активного листа без потери каких-либо данных или информации на листе.
Пожалуйста, укажите, где я делаю неправильно. Спасибо за каждого участника.