我目前正在尝试修改Visual Basic宏以仅将电子表格保存在已填充单元格的工作簿中。只保存已填充单元格的填充电子表格为PDF
当前宏只是将整个16工作簿保存为PDF,但最多9个这些工作表有时会保留未完成状态,但仍然保存。
我希望宏自动检查这些表是否已经填充,一旦点击'保存'按钮,然后继续只保存填充(完整)工作表为PDF。
我会大规模appricate任何帮助!
下面的代码是宏保存整个工作簿时当前的工作方式。 (有一个IF语句检查之前将其保存为PDF格式。)
Sub SaveAsPDF()
With ThisWorkbook.Sheets("COVERPage1PRINT")
If (Len(.Range("C24")) = 0) Then
MsgBox "Ensure Serial Number or Stamp number are filled."
Exit Sub
ElseIf (Len(.Range("H17")) = 0) Then
MsgBox "Ensure Serial Number or Stamp Number are filled."
Exit Sub
Else
ChDir _
"P:\Cells\Spool & Sleeves Cell\Flow Plot Records\EFA\Saved EFA PDF Archive"
fname = Sheets("COVERPage1PRINT").Range("H17")
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"P:\Cells\Spool & Sleeves Cell\Flow Plot Records\EFA\Saved EFA PDF Archive\" & fname, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
End If
End With
End Sub
谢谢,我已经试过了,但我似乎无法指定被定义为填充的表单中的单元格,我还假设这就是您在说'取决于您的填充定义时的含义张? 9个薄片中的每一个与设置布局相同,并且单元:D4:9,E10:15,F4:9,G10:15,H4:9,I10:15,J4:9,K10:15是这样的单元需要完成。 – TPK 2014-10-07 14:27:10
我认为用** WorksheetFunction.CountA(范围(“D4:D9,E10:E15,F4:F9,G10:G15,H4:H9,”)替换**。UsedRange.Address <>“$ A $ 1” I10:I15,J4:J9,K10:K15“))= 48 **应该做这个工作... – ravishchhabra 2014-10-07 17:29:29
请让我知道如果能够尝试这种解决方案。如果您有任何问题,我会很乐意回答。 – ravishchhabra 2014-10-08 05:45:47