У меня есть следующий код, который создает новый лист. Я пытаюсь назвать новый лист с помощью фразы, содержимого ячейки 1 и даты в ячейке 2. Ячейка 1 будет содержать некоторые данные, которые вставляются с помощью проверки данных (всего 4 варианта), а ячейка 2 будет иметь дата.
ПРИМЕР: ВХОДНЫЕ ДАННЫЕ РАБОТЫ Диапазон C3. Значение ячейки 1 = Торговая деятельность, покупки, продажи ... и т. Д. c
Рабочий лист ВХОДЫ Диапазон C2. Значение ячейки 2 = 2.11.2020
Имя новой рабочей книги будет "Имя клиента Торговые операции - 2.11.2020"
И ячейка 1, и ячейка 2 будут находиться в рабочей таблице INPUTS
Private Sub CommandButton1_Click()
Dim targetWorkbook As Workbook
Dim sourceSheet As Worksheet
Dim formatDate As String
Dim fileName As String
Set sourceSheet = ThisWorkbook.Worksheets("Sheet1")
If sourceSheet.AutoFilterMode Then sourceSheet.AutoFilterMode = False
If ThisWorkbook.Worksheets("INPUTS").Range("C3").Value <> vbNullString Then
formatDate = Format(Sheets("INPUTS").Range("C3"), "YYYY.MM.DD")
End If
fileName = "Name - " & ActivityName & formatDate
sourceSheet.Outline.ShowLevels ColumnLevels:=1
sourceSheet.Range("A:M").AutoFilter Field:=12, Criteria1:="<>0"
Set targetWorkbook = Workbooks.Add
sourceSheet.UsedRange.SpecialCells(xlCellTypeVisible).Copy targetWorkbook.Worksheets(targetWorkbook.Sheets.Count).Range("A1")
targetWorkbook.Sheets("sheet1").Columns("A:AC").EntireColumn.AutoFit
targetWorkbook.SaveAs ThisWorkbook.Path & "\" & fileName & ".xlsx", FileFormat:=51
End Sub