Страницы: Пред. 1 2
RSS
Сохранение файла с помощью VBA с названием ячейки
 
RNEtidi,

вот тупа убрал в вашем коде все то о чем вы не упоминали и он сработал
Намек ясен?

Код
Private Sub х()
'                Call writelog("START OPERATION at " & Format(Now, "HH:mm:ss DD.MM.YYYY"), ThisWorkbook)
'n = Val(TextBox1.Text)
n = 3
'                Call writelog("act: n = Val(TextBox1.Text) | res: n = " & n, ThisWorkbook)
For x = 1 To n
'                Call writelog("act: For x = 1 To n | res: x = " & x, ThisWorkbook)
NewName = "Saved_" & x & ".xlsm"
'                Call writelog("act: NewName = Saved_ & x & .xlsm | res: NewName = " & NewName, ThisWorkbook)
'DoEvents
'                Call writelog("act: DoEvents", ThisWorkbook)
ThisWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & NewName
'                Call writelog("act: ThisWorkbook.SaveCopyAs ThisWorkbook.Path & \ & NewName", ThisWorkbook)
Next x
'                Call writelog("act: Next x", ThisWorkbook)
'                Call writelog("STOP OPERATION at " & Format(Now, "HH:mm:ss DD.MM.YYYY"), ThisWorkbook)
'                Call writelog("----------------------------------------------", ThisWorkbook)
End Sub
у меня простая версия Экселя, в ней нет кнопки "Прочитать мысли и сгенерировать файл пример"
 
странно и в вашем варианте у меня все срабатывает без ошибок
у меня простая версия Экселя, в ней нет кнопки "Прочитать мысли и сгенерировать файл пример"
 
У меня тоже отработало и на 2 копии, и на 5. И с логом всё в порядке.
 
хм... может тогда дело в references. если не сложно, выложи список с ссылками, можно сканом.
 
RNEtidi, к Вам на ВЫ, а Вы "тыкаете"...
 
не пристало к друзьям-товарищам (коими  мы тут все являемся) на "вы" обращаться. не по комсомольски это.
 
Six years later......

Excel 2019
сохраняет в папку Авто-восстановления, а не в папку постоянного хранения:
Цитата
написал:
Имя_для_сохранения = [A31]
   FName = Application.GetSaveAsFilename(InitialFileName:=Имя_для_сохранения, _
                                         FileFilter:="Excel Files (*.xls), *.xls", _
                                         Title:="Выберите имя файла для сохранения")
   If VarType(FName) <> vbBoolean Then ThisWorkbook.SaveAs FName
/////

Делает то что надо:
Цитата
написал:
Имя_для_сохранения = [A31]
   FName = Application.GetSaveAsFilename(InitialFileName:=Имя_для_сохранения, _
                                         FileFilter:="Excel Files (*.xls), *.xls", _
                                         Title:="Выберите имя файла для сохранения")
   If VarType(FName) <> vbBoolean Then ThisWorkbook.SaveAs FName
но опять же возникает вопрос как завершить сохранением без подтверждения?
Изменено: Kulagin - 29.10.2023 16:09:03
 
Код
ThisWorkbook.Save
 
Цитата
Kulagin: Six years later......
:D  Kulagin, чем отличаются цитаты?
Цитата
Kulagin: сохраняет в папку Авто-восстановления, а не в папку постоянного хранения:
ну так укажите полный путь, куда нужно сохранить и неоднозначность пропадёт.
Изменено: Jack Famous - 30.10.2023 11:27:15
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Здравствуйте Уважаемые Знатоки, помогите пожалуйста создать VBA. Задача такая: при нажатие в созданном кнопке "сохранить+печать"  документ сохранился в определённую папку с названием из ячейки B4 B5, и очистить ячейки с А6 по А14, и печатать.  :)  Буду очень признателен  ;)        
 
Цитата
написал:
документ сохранился в определённую папку с названием из ячейки B4 B5
Код
ActiveWorkbook.SaveAs Range("B4").Value & "\" & ActiveWorkbook.Name
Цитата
написал:
очистить ячейки с А6 по А14,
Код
Range("A6:A14").ClearContents
Цитата
написал:
и печатать

Код
ActiveSheet.PrintOut
 
Цитата
написал:
ActiveWorkbook.SaveAs Range("B4").Value & "\" & ActiveWorkbook.Name
Добрый день, спасибо за отклик. Ваш макрос работает но переименовывает  этот же же документ. Я хотел что бы сохранил копию этого документа.  
 
Stomatolog1 Напишите так
Код
ActiveWorkbook.SaveCopyAs Range("B4").Value & "\" & ActiveWorkbook.Name
 
простите почему так получается?
Изменено: Stomatolog1 - 08.12.2023 12:10:40
 
Код
ActiveWorkbook.SaveCopyAs "G:\baza\" & ActiveWorkbook.Name
 
Ребята не получается. Помогите пожалуйста  
 
Stomatolog1 Так точно не получится. Сначала должен идти путь к папке потом название файла из ячейки. А у вас наоборот.
 
тоже сохраняю, но имя файла усложнил № дока из ячейки нужно вставить а дату текущую
Код
Sub сохранить_лист()
    Dim awb As Workbook, sh As Worksheet, sFilename$
    Application.DisplayAlerts = True
    Application.CopyObjectsWithCells = False
    Application.ScreenUpdating = False
    For Each sh In ThisWorkbook.Worksheets
        If awb Is Nothing Then
            sh.Copy
            Set awb = ActiveWorkbook
        Else
            sh.Copy After:=awb.Sheets(awb.Sheets.Count)
        End If
    Next
    sFilename = Replace(ThisWorkbook.FullName, "Отчет", "Отчет № от" & Format(Date, "dd mmmm yyyy"))
    Mid(sFilename, Len(sFilename), 1) = "x"
    awb.SaveAs sFilename, xlOpenXMLWorkbook
    awb.Close False
    Application.DisplayAlerts = True
    Application.CopyObjectsWithCells = True
    Application.ScreenUpdating = True
End Sub


№ отчета из ячейки К4

понимаю что нужно вставить после № Range("B4") но как???
Код
sFilename = Replace(ThisWorkbook.FullName, "Отчет", "Отчет №", Range("B4"), "от" & Format(Date, "dd mmmm yyyy"
Изменено: Валерий Н - 15.12.2023 07:38:24
Страницы: Пред. 1 2
Наверх