Я все еще довольно новичок в этом.Я хочу иметь возможность сделать следующее:
- выбрать диапазон копирования
- вставить выделение в новую книгу
- сохранить книгу в папке с найденным значением годав диапазоне H5 (если папка не существует, создайте ее)
- сохранить файл как «title_month_year» значения, найденные в диапазонах A5, F5, H5 (но если файл уже существует, сохраните как новый лист / вкладка)
До сих пор я считаю, что я покрыл 1-3 и часть 4.
Option Explicit
Const MYPATH As String = "C:\USERS\3658\Desktop\"
Sub IfNewFolder()
Dim AuditYear As String
AuditYear = Range("H5").Value
'if a particular directory doesnt exists already then create folder.
If Len(Dir(MYPATH & AuditYear, vbDirectory)) = 0 Then
MkDir MYPATH & AuditYear
End If
End Sub
Sub SaveCustomizedCourse()
'copy and past selected data in a new workbook
Range("B8").End(xlDown).Select
Range(Selection, Selection.End(xlUp)).Select
Range(Selection, Selection.End(xlUp)).Select
Range(Selection, Selection.End(xlUp)).Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Range("A1").Select
Selection.PasteSpecial xlPasteColumnWidths
Selection.PasteSpecial xlPasteFormats
'save selected data in a new workbook
Dim AuditMonth As String
Dim AuditYear As String
Dim AuditTitle As String
AuditMonth = Range("F5").Value 'MONTH
AuditYear = Range("H5").Value 'YEAR
AuditTitle = Range("A5").Value 'TITLE
IfNewFolder 'creates a yearly subfolder
ActiveWorkbook.SaveAs Filename:= _
MYPATH & AuditYear & "\" & AuditTitle & "_" & AuditMonth & ".xlsm", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
MsgBox ("Audit Saved.")
'ActiveWindow.Close
End Sub