有没有可能修改这段代码来打印几个pdf文件用于特定的图纸列表?
Sub printselection()
Dim rng As Range
Dim wks As Worksheet
Dim arr() As String
Dim i As Long: i = 0
Dim x As Integer
For x = 1 To 3
For Each rng In Sheets("Consolidated").Range(Cells(x, x), Cells(x, x))
If Trim(rng.Value) <> "" Then
On Error Resume Next
Set wks = Nothing
Set wks = Sheets(rng.Value)
On Error GoTo 0
If wks Is Nothing Then
MsgBox "Sheet " & rng.Value & " does not exist"
Else
ReDim Preserve arr(i)
arr(i) = wks.Name
i = i + 1
End If
End If
Next rng
Dim printSheets As Variant
printSheets = arr
Worksheets(printSheets).PrintOut Preview:=False, ActivePrinter:="Adobe PDF", PrintToFile:=True, PrToFileName:=PSFileName
Next x
End Sub我正在学习,因为我使用vba.....it只处理A列,并在最后一行挂起,希望它会在移动到下一列X时询问文件名。以下是列表名的示例(我想将每列表名打印到不同的pdf文件)
A B C
CA 10 - 50 Area 1 CO 10 - 50 Area 1 GA 10 - 50 Area 1
CA 10 - 50 Area 2 CO 10 - 50 Area 2 GA 10 - 50 Area 2
CA 10 - 50 Area 3 CO 10 - 50 Area 3 GA 10 - 50 Area 3
CA 10 - 50 Area 4
CA 10 - 50 Area 5 (A栏为CA,B栏为CO,C栏为GA)
发布于 2018-05-09 15:40:25
尝试为printSheets数组中的每个工作表执行循环:
For Each itm In printSheets
Worksheets(itm).PrintOut Preview:=False, ActivePrinter:="Adobe PDF", PrintToFile:=True, PrToFileName:=PSFileName
Next itmhttps://stackoverflow.com/questions/50236671
复制相似问题