Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Название файла по данным из ячейки, VBA
 
А в таком варианте работает:
Код
Sub yut()
    Dim wsSource As Worksheet
    Dim wsTarget As Worksheet
    Dim wbTarget As Workbook
    Dim rngTarget As Range
    Dim CopyArea As String

    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    CopyArea = "A1:E129"
    Set wsSource = ActiveWorkbook.ActiveSheet
    Set wsTarget = Workbooks.Add(1).Worksheets(1)
    Sheets("Лист1").Name = "Заказ"
    wsSource.Range(CopyArea).SpecialCells(xlCellTypeVisible).Copy
    With wsTarget.Range("A1")
        .PasteSpecial Paste:=xlPasteColumnWidths
        .PasteSpecial Paste:=xlPasteValues
        .PasteSpecial Paste:=xlPasteFormats
    End With
    With wsTarget
        .Parent.SaveAs (ThisWorkbook.Path & "\" & wsSource.Range("I4") & ".xlsx")
        .Parent.Close 0
    End With
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    
End Sub
Изменено: Svility - 22.12.2020 00:08:42
Название файла по данным из ячейки, VBA
 
Теперь другая проблема возникла.

Файл формируется как виртуальная книга, но в папку не сохраняется.
(Все файлы закрыты, в папке только 1 исполняемый файл)
Изменено: Svility - 21.12.2020 17:30:30
Название файла по данным из ячейки, VBA
 
:D  Ну да, пока экспериментировал, запутался) artemkau88, спасибо, помогло )
Название файла по данным из ячейки, VBA
 
Цитата
Ігор Гончаренко написал:
а где проблема? в чем?
Файл не формируется с названием из ячейки.
Я так полагаю, что я копирую нужный мне диапазон, а потом вне этого диапазона пытаюсь задать имя файла, что приводит к ошибке
Название файла по данным из ячейки, VBA
 
Цитата
artemkau88 написал:
ActiveWorkbook.SaveAs (ThisWorkbook.Path & "\" & ThisWorkbook.ActiveSheet.Cells(4, 9).Value & ".xlsx")
Ошибку выдаёт
Название файла по данным из ячейки, VBA
 
Добрый день.
Собрал макрос, который копирует заданный диапазон ячеек в новую книгу, но не получается корректно сформировать имя файла на выходе т.к. нужно что бы имя файла бралось не из выделенного диапазона.
Диапазон в исходной таблице - "A1:E129"
Название, которое нужно присвоить результирующей книге находится на I4 (или 4,9)
Код
Sub copy_temp()
' Копируем диапазон
Range("A1:E129").Copy
' Заменяем формулы на значения
    For Each cell In ActiveSheet.UsedRange.Cells
    cell.Formula = cell.Value
    Next cell
'Создаем новую книгу
Workbooks.Add
' Вставляем в созданную книгу ЗНАЧЕНИЯ
ActiveSheet.Paste
' Переименовываем лист в книге
Sheets("Лист1").Name = "Заказ"
'Сохраняем книгу в папку, где расположен файл с кодом
ActiveWorkbook.SaveAs (ThisWorkbook.Path & "\" & Cells(4, 9).Value & ".xlsx")
'Закрываем файл
ActiveWorkbook.Close
End Sub
Изменено: Svility - 21.12.2020 16:59:05
Страницы: 1
Наверх