Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel ch下拉列表的成员,然后仅为该数据将sheet10另存为.pdf,然后删除sheet10并从下拉列表的第二个元素中获取数据,然后将其另存为单独的pdf,然后继续,直到为下拉列表中的所有项目创建单独的pdf?看起来你一次又一次地使用sheet10作为工作表来_Excel_Vba - Fatal编程技术网

Excel ch下拉列表的成员,然后仅为该数据将sheet10另存为.pdf,然后删除sheet10并从下拉列表的第二个元素中获取数据,然后将其另存为单独的pdf,然后继续,直到为下拉列表中的所有项目创建单独的pdf?看起来你一次又一次地使用sheet10作为工作表来

Excel ch下拉列表的成员,然后仅为该数据将sheet10另存为.pdf,然后删除sheet10并从下拉列表的第二个元素中获取数据,然后将其另存为单独的pdf,然后继续,直到为下拉列表中的所有项目创建单独的pdf?看起来你一次又一次地使用sheet10作为工作表来,excel,vba,Excel,Vba,ch下拉列表的成员,然后仅为该数据将sheet10另存为.pdf,然后删除sheet10并从下拉列表的第二个元素中获取数据,然后将其另存为单独的pdf,然后继续,直到为下拉列表中的所有项目创建单独的pdf?看起来你一次又一次地使用sheet10作为工作表来保存为pdf,对吗?你的Sheet9单元格E5下拉列表-该下拉列表的数据源在哪里?理想情况下,您希望它是一个范围。您需要编写一些VBA来读取该源范围的每个单元格并将其加载到E5中。您将整个循环环绕现有的save-as-a-pdf代码,但将加载到


ch下拉列表的成员,然后仅为该数据将sheet10另存为.pdf,然后删除sheet10并从下拉列表的第二个元素中获取数据,然后将其另存为单独的pdf,然后继续,直到为下拉列表中的所有项目创建单独的pdf?看起来你一次又一次地使用sheet10作为工作表来保存为pdf,对吗?你的Sheet9单元格E5下拉列表-该下拉列表的数据源在哪里?理想情况下,您希望它是一个范围。您需要编写一些VBA来读取该源范围的每个单元格并将其加载到E5中。您将整个循环环绕现有的save-as-a-pdf代码,但将加载到E5的值插入到它另存为的文件名中。试一试,如果您遇到问题,请发表您的意见。E5从另一个工作表中获取信息,因此每次更新另一个工作表时,下拉列表也会更新。因此,对于Otherworkbook.Sheets(“OtherWorksheetname”).Range(“RangeofDropdown”)中的每个下拉项,您的循环需要以类似于
的内容开始.text
非常感谢。。它只是像以前一样保存了一个pdf文件。(VBA对我来说有点新,所以我有点挣扎..对不起)为了清晰-E5下拉列表有几个项目。你想浏览下拉列表中的所有项目,然后-这就是我迷路的地方。您是否将来自下拉列表中每个成员的数据放在sheet10上,然后将sheet10保存为.pdf格式仅用于该数据,然后删除sheet10并从下拉列表的第二个元素获取数据,然后将其保存为单独的pdf格式,一直保存到为下拉列表中的所有项目创建单独的pdf格式?你似乎一次又一次地使用sheet10作为工作表来保存为pdf格式,对吗?我将sheet1而不是sheet9。对不起,我没看到。我将更改答案中的脚本。现在再试一次。您好:)宏工作正常,但它正在文件夹上创建一个空的pdf模板,因为下拉列表E5从另一个逐渐更新的工作表中获取数据,因此下拉列表E5中的某些项为空。因此,宏将该0解释为一个值,并生成一个空pdf模板。你知道我怎么做“如果E5不是空的,只生成pdf/0”?再次非常感谢你!!可能是因为您的下拉列表中有一个空元素。尝试使用类似于“If element.name”“then”语句的语句。我调整了上面的代码。我把表1改为表9。对不起,我没看到。我将更改答案中的脚本。现在再试一次。您好:)宏工作正常,但它正在文件夹上创建一个空的pdf模板,因为下拉列表E5从另一个逐渐更新的工作表中获取数据,因此下拉列表E5中的某些项为空。因此,宏将该0解释为一个值,并生成一个空pdf模板。你知道我怎么做“如果E5不是空的,只生成pdf/0”?再次非常感谢你!!可能是因为您的下拉列表中有一个空元素。尝试使用类似于“If element.name”“then”语句的语句。我调整了上面的代码。
    Sub testDir()

    Dim mnth As String
    Dim yr As String
    Dim dateString As String
    Dim pathToDir As String
    Dim myFolder As String
    Dim myFile As String
    Dim totalElements
    Dim element As Range
    Dim wb As Workbook
    Dim activeSh As Worksheet
    Dim aWB As Worksheet


    Set activeSh = Sheets("Sheet9")
    activeSh.Activate
    Set aWB = Sheets("Sheet10")

    '   set up folder and path for current month
    pathToDir = "C:\Temp\"
    mnth = Left(MonthName(Month(Date)), 3)
    yr = Year(Date)
    dateString = yr & "_" & mnth
    myFolder = pathToDir & dateString

    If Not ifFolderExists(myFolder) Then
        ' Folder for current month does not exist yet
        ' Create folder "C:\Temp\2017_Feb" or whatever current year and month is
        Beep
        MkDir myFolder
    End If

    '   Get  items from dropdown list
    Set totalElements = Evaluate(Range("E5").Validation.Formula1)

    '   This is where I'm fuzzy -
    '   If when you select each item, does that automatically change data on Sheet10?
    '   If so, do this

    For Each element In totalElements
       if element.name <> "" then            
        Sheet1.Range("E5").Value = element
        myFile = myFolder & "\" & "_" & element & ".pdf"
        ChDir myFolder
        aWB.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
            myFile, Quality:=xlQualityStandard, _
            IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
            False
       End if
    Next element

    End Sub


Public Function ifFolderExists(folderPath As String) As Boolean
    On Error Resume Next
    ifFolderExists = (GetAttr(folderPath) And vbDirectory) = vbDirectory
    On Error GoTo 0
End Function