Сохранить как PDF-макрос с выпадающим - PullRequest
0 голосов
/ 10 декабря 2018

Итак, я использовал макрос для сохранения листов в формате PDF, но теперь вместо нескольких листов я использую один лист, который извлекает всю необходимую информацию, используя раскрывающийся список из ячейки A1, а затем на основе ячейки раскрывающегося списка.значение, другие поля на листе обновляются.

Следующий макрос использовался для перехода от листа к листу:

Sub SaveWorksheetsAsPDFs()
Dim sFile       As String
Dim sPath       As String
Dim wks         As Worksheet

With ActiveWorkbook
    sPath = .Path & "\"
    For Each wks In .Worksheets
        Select Case wks.Name
            Case Else
                'Code here to run on the other sheets
                sFile = wks.Name & ".pdf"
                wks.ExportAsFixedFormat Type:=xlTypePDF, _
                                        Filename:=sPath & sFile, _
                                        Quality:=xlQualityStandard, _
                                        IncludeDocProperties:=False, _
                                        IgnorePrintAreas:=False, _
                                        OpenAfterPublish:=False
        End Select
    Next wks
End With
End Sub

Теперь, поскольку у меня есть все на одном листе, есть ли способ опустить каждый элемент из раскрывающегося списка для него?заполнить и автоматически сохранить в формате PDF?Спасибо

1 Ответ

0 голосов
/ 10 декабря 2018

Я думаю, что это должно сработать - вы просто сохраните опции в массиве, а затем установите любую ячейку, которая вам нужна.В моем примере я использовал A1 на листе Sheet1.Отрегулируйте при необходимости:

Option Explicit

Sub loop_through_dropdown()
     Dim inputRange
     inputRange = Range("A1").Validation.Formula1

     Dim inputs, temp_option As String
     inputs = Split(inputRange, ",")

     Dim i As Long

     For i = LBound(inputs) To UBound(inputs)
        temp_option = (Trim(inputs(i)))
        'do something with temp_option
        Debug.Print (temp_option)
        Worksheets("Sheet1").Range("A1").Value = temp_option
        ' Now, the page should update with the data for that option. Now simply run the macro
        Call SaveWorksheetsAsPDFs
    Next i
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...