Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Автоматический перебор строк и сохранение файла в PDF - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматический перебор строк и сохранение файла в PDF (Макросы/Sub)
Автоматический перебор строк и сохранение файла в PDF
DK Дата: Вторник, 13.09.2016, 12:30 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый День.
Очень сильно нуждаюсь в Вашей помощи.
Проблема следующая.

Описание

В Листе1 есть формуляр, который заполняется с помощью ВПР, ориентируясь на ячейку С14 - искомое значение. В Листе2 находится сама база данных.

Нужно что-бы в столбце А в Листе2 считывались ячейки построчно и записывались в ячейку С14 в Листе1, и после каждого "шага" - прочтения строки происходило сохранение Листа1 в формате PDF, а имя PDF - файла было равно содержимому ячейки С14 в Листе1. Файл должен сохраняться там же где и находится сам файл ексел.

Короткое описание.
1) Считывание строки, запись в ячейку С14
2) Сохранение PDF
3) Следующее считывание ... итд.

Помогите пожалуйста.
К сообщению приложен файл: 1Book.xlsx(24Kb)


Сообщение отредактировал DK - Вторник, 13.09.2016, 12:32
 
Ответить
СообщениеДобрый День.
Очень сильно нуждаюсь в Вашей помощи.
Проблема следующая.

Описание

В Листе1 есть формуляр, который заполняется с помощью ВПР, ориентируясь на ячейку С14 - искомое значение. В Листе2 находится сама база данных.

Нужно что-бы в столбце А в Листе2 считывались ячейки построчно и записывались в ячейку С14 в Листе1, и после каждого "шага" - прочтения строки происходило сохранение Листа1 в формате PDF, а имя PDF - файла было равно содержимому ячейки С14 в Листе1. Файл должен сохраняться там же где и находится сам файл ексел.

Короткое описание.
1) Считывание строки, запись в ячейку С14
2) Сохранение PDF
3) Следующее считывание ... итд.

Помогите пожалуйста.

Автор - DK
Дата добавления - 13.09.2016 в 12:30
sboy Дата: Вторник, 13.09.2016, 13:36 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 198
Репутация: 49 ±
Замечаний: 0% ±

Excel 2007
Добрый день.
Макрос сделал на кнопку
[vba]
Код
Sub Прямоугольник1_Щелчок()
Dim rD As Range
Dim fName As String
Sheets(1).Activate
Set rD = Range("C14")
iLr = Sheets(2).Cells(Rows.Count, 1).End(xlUp).Row
For x = 2 To iLr
    rD.Value = Sheets(2).Cells(x, 1).Value
    fName = "c:\TEMP_WIN\" & rD.Value & ".pdf" 'вместо c:\TEMP_WIN\ укажите свой путь для сохранения
    Application.Calculate
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        fName, Quality:=xlQualityStandard _
        , IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
        :=False
Next x
End Sub
[/vba]
К сообщению приложен файл: 1Book.xlsm(30Kb)
 
Ответить
СообщениеДобрый день.
Макрос сделал на кнопку
[vba]
Код
Sub Прямоугольник1_Щелчок()
Dim rD As Range
Dim fName As String
Sheets(1).Activate
Set rD = Range("C14")
iLr = Sheets(2).Cells(Rows.Count, 1).End(xlUp).Row
For x = 2 To iLr
    rD.Value = Sheets(2).Cells(x, 1).Value
    fName = "c:\TEMP_WIN\" & rD.Value & ".pdf" 'вместо c:\TEMP_WIN\ укажите свой путь для сохранения
    Application.Calculate
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        fName, Quality:=xlQualityStandard _
        , IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
        :=False
Next x
End Sub
[/vba]

Автор - sboy
Дата добавления - 13.09.2016 в 13:36
DK Дата: Вторник, 13.09.2016, 13:44 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
sboy,
Здравствуйте.
Работает, спасибо ОГРОМНОЕ :)


Сообщение отредактировал DK - Вторник, 13.09.2016, 13:50
 
Ответить
Сообщение sboy,
Здравствуйте.
Работает, спасибо ОГРОМНОЕ :)

Автор - DK
Дата добавления - 13.09.2016 в 13:44
K-SerJC Дата: Вторник, 13.09.2016, 13:59 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 84
Репутация: 12 ±
Замечаний: 60% ±

Excel 2013
если немного изменить, будет сохранять в той же папке, где файл
[vba]
Код
Sub Прямоугольник1_Щелчок()
Dim rD As Range
Dim fName As String
Dim pst As String
pst = ActiveWorkbook.Path
Sheets(1).Activate
Set rD = Range("C14")
iLr = Sheets(2).Cells(Rows.Count, 1).End(xlUp).Row
For x = 2 To iLr
    rD.Value = Sheets(2).Cells(x, 1).Value
    fName = pst & "\" & rD.Value & ".pdf"
    Application.Calculate
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        fName, Quality:=xlQualityStandard _
        , IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
        :=False
Next x
End Sub
[/vba]


Благими намерениями выстелена дорога в АД.

Сообщение отредактировал K-SerJC - Вторник, 13.09.2016, 14:00
 
Ответить
Сообщениеесли немного изменить, будет сохранять в той же папке, где файл
[vba]
Код
Sub Прямоугольник1_Щелчок()
Dim rD As Range
Dim fName As String
Dim pst As String
pst = ActiveWorkbook.Path
Sheets(1).Activate
Set rD = Range("C14")
iLr = Sheets(2).Cells(Rows.Count, 1).End(xlUp).Row
For x = 2 To iLr
    rD.Value = Sheets(2).Cells(x, 1).Value
    fName = pst & "\" & rD.Value & ".pdf"
    Application.Calculate
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        fName, Quality:=xlQualityStandard _
        , IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish _
        :=False
Next x
End Sub
[/vba]

Автор - K-SerJC
Дата добавления - 13.09.2016 в 13:59
Karataev Дата: Вторник, 13.09.2016, 14:00 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 643
Репутация: 227 ±
Замечаний: 0% ±

Excel
В моем варианте выполняется это условие:
Файл должен сохраняться там же где и находится сам файл ексел.
Макрос запускается кнопкой из листа1 из "E14".
[vba]
Код
Sub В_PDF()
    
    Dim sh1 As Worksheet, sh2 As Worksheet
    Dim lr As Long, i As Long
    
    Application.ScreenUpdating = False
    
    Set sh1 = ActiveSheet
    Set sh2 = Worksheets("Лист2")
    
    lr = sh2.Columns("A").Find(What:="*", LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False _
        , SearchFormat:=False).Row
        
    For i = 2 To lr
        sh1.Range("C14").Value = sh2.Cells(i, "A").Value
        sh1.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            ActiveWorkbook.Path & "\" & sh1.Range("C14").Value & ".pdf", Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    Next
    
    Application.ScreenUpdating = True
    
    MsgBox "Готово!", vbInformation

End Sub
[/vba]
К сообщению приложен файл: 4299255.xlsm(31Kb)




Сообщение отредактировал Karataev - Вторник, 13.09.2016, 14:07
 
Ответить
СообщениеВ моем варианте выполняется это условие:
Файл должен сохраняться там же где и находится сам файл ексел.
Макрос запускается кнопкой из листа1 из "E14".
[vba]
Код
Sub В_PDF()
    
    Dim sh1 As Worksheet, sh2 As Worksheet
    Dim lr As Long, i As Long
    
    Application.ScreenUpdating = False
    
    Set sh1 = ActiveSheet
    Set sh2 = Worksheets("Лист2")
    
    lr = sh2.Columns("A").Find(What:="*", LookIn:=xlFormulas, LookAt:= _
        xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False _
        , SearchFormat:=False).Row
        
    For i = 2 To lr
        sh1.Range("C14").Value = sh2.Cells(i, "A").Value
        sh1.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            ActiveWorkbook.Path & "\" & sh1.Range("C14").Value & ".pdf", Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
    Next
    
    Application.ScreenUpdating = True
    
    MsgBox "Готово!", vbInformation

End Sub
[/vba]

Автор - Karataev
Дата добавления - 13.09.2016 в 14:00
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматический перебор строк и сохранение файла в PDF (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!