遍历范围以填写表格

时间:2019-07-01 14:30:49

标签: excel vba

我正在开发一个程序,该程序将为项目创建封面。

所有源数据都保存在“数据”标签上,并通过查找将其填充在“ 1034”标签上

工作表“ 1034”上的单元格P2包含项目号,并将该表单保存为PDF后,应设置为“数据”中项目范围内的下一个值

以下是我到目前为止所拥有的

Sub Generate1034()
   'Select Project # Cell, set value to start
   Range("P2").Value = Range(Application.Worksheets("Data").Range("A3"))

   'Set range on 'data' from A3:(empty cell)
   Range (Application.Worksheets("Data").Range("A3").Select)
   Do Until IsEmpty(ActiveCell)

   'Save Parameters
   Application.Worksheets("1034").Range("P2") = Format(x, "000")
   Dim SaveName As String
   SaveName = ActiveSheet.Range("P33").Text
   ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\1034\" & _
       SaveName & ".pdf"\

   'Set P2 to the next value in range
   Range("P2").Value = Range(Application.Worksheets("Data").Range("A3"))

   Loop
 End Sub

这是运行它的先前代码,但是如果范围的大小发生变化,我想使其更加灵活。 这将在数​​据上查找“ 001”,并从colB返回值

Sub SaveAs()
   For x = 1 To 5
   Application.Worksheets("1034").Range("P2") = Format(x, "000")
   Dim SaveName As String
   SaveName = ActiveSheet.Range("P33").Text
   ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ActiveWorkbook.Path & "\1034\" & _
       SaveName & ".pdf"
    Next x
 End Sub

0 个答案:

没有答案