2017-10-28 67 views
0

我有一些很难找到合适的代码如下目标:Excel宏基于打印一系列表价值

我有一个宏观的纸张,当我在小区变更的值E5,自动填充sheet1中的某些字段,从其他表的表格中搜索并返回值 - sheetTable)。因此在更换单元格E5之后,sheet1基本上已准备好打印。

我的目标是在一列上sheetTable选择值的范围和将它们分配中的每一个细胞上E5工作表Sheet ,并打印各一个。

因此,可以说我选择3个细胞值:45,50和66当我运行宏,将分配45到细胞E5和打印工作表Sheet1 ,那么它会分配50至细胞E5和打印工作表Sheet1 ,最后将66分配给单元格E5并打印sheet1

此外,我需要在PDF中打印每个PDF文件,并且生成的PDF文件名应该是E5单元格的值[基本上类似于范围(e5).value.pdf]。

+0

没有上得了其他职位无人接听。并解释更好的这一个 –

+0

为什么你不能只是[编辑](https://stackoverflow.com/posts/46972036/edit)你以前的问题? (而另一个问题**确实**有答案,有人**仍然**积极地试图帮助你。) – YowE3K

回答

1
Sub printSelectedCells() 
    Dim Path As String 
    Dim Cell As Range 

    Path = "C:\Users\XXXXX\Desktop\" 'Change to suite. 
    'Alternatively you let user select folder by using Application.FileDialog(msoFileDialogFolderPicker) 

    For Each Cell In Selection 
     Sheet1.Range("E5").Value2 = Cell.Value2 
     Sheet1.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
      Path & Sheet1.Range("E5").Value2 & ".pdf", Quality:=xlQualityStandard, _ 
      IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _ 
      True 
    Next 

End Sub 
+0

此函数返回Sheet1.Range(“E5”)上的运行时错误'424'。Value2 = Cell.Value2。如何整合2 Sub的? –

+0

好吧。现在很好。万分感谢! –

0

让我们一次处理一个问题。下列内容是否填写单元格E5并按顺序打印每页?

Sub Fill_Print() 
    Dim Rng As Range, r As Range 
    Dim sh1 As Worksheet, shTable As Worksheet 

    Set sh1 = Sheets("Sheet1") 
    Set shTable = Sheets("sheetTable") 
    Set Rng = Selection 

    For Each r In Rng 
     sh1.Range("E5").Value = r.Value 
     sh1.PrintOut 
    Next r 
End Sub 
+0

是的这一个很好! –

+0

好极了。你有没有一个文件路径,你想保存PDF文件的位置? – Calico