2016-12-29 75 views
0

我有一個vba代碼,可將表格「ConversiePDF」轉換爲PDF。
的問題是,整個片材通過公式生成和片材的一半beeing填充了數據,而另一半保持空白(與運行,但返回「」公式)VBA:轉換爲pdf腳本,忽略轉換中的空白單元格

我的代碼整個片轉換那行到1000行,併產生32頁(女巫30是空的 - 只是沒有真實數據的表)

我需要它忽略公式返回的空白單元格「」如果整個行從A到Q爲空或返回「」。 (如果僅僅從一排一兩個或三個細胞是空的,這不應適用)

請幫助..

'This is my code till now: 

Dim ThisRng As Range 
Dim strfile As String 
Dim myfile As Variant 

'Selectie Sheet pentru conversie 
With ActiveWorkbook.Sheets("ConversiePDF") 
Set ThisRng = .Range("A2", .Cells(.Rows.Count, "F").End(xlUp)) 
End With 

謝謝。

+0

你嘗試過用濾波器(出empyt行)可以手動設置或通過VBA代碼?你不需要檢查所有列,可能檢查一列就足以確定行是否爲空。您也可以檢查SUM()或COUNT()(或其他COUNT公式,取決於您的數據類型)結果,並確定行是否爲空並隱藏它。 –

+0

我用Excel過濾器檢查,它的工作原理。只有變成pdf剩餘的單元格,但我需要在vba中做到這一點。我檢查互聯網的正確的代碼,但無法找到我可以整合的東西(可能因爲我相對vba的白癡) – MisterA

+0

好的。我設法得到下面的代碼轉換爲PDF只有有價值的單元格,但它也刪除我的公式,從工作表返回「」。我需要這些公式留在表格中(永久),但如果「」;
代碼:Selection.AutoFilter Selection.AutoFilter字段:= 1,Criteria1:=「<>」'列A Selection.AutoFilter字段:= 5,Criteria1:=「<>」'列E – MisterA

回答

0
Private Sub CommandButton1_Click() 
'BUTON CONVERSIE PDF - ANGAJATORI 
'DESCRIPTION: CONVERSIE A UNUI SHEET IN PDF 
Dim ThisRng As Range 
Dim strfile As String 
Dim myfile As Variant 


'Selectie Sheet pentru conversie 
Application.ScreenUpdating = False 
ActiveWorkbook.Sheets("PDF ANG").Visible = True 

'Selectie filtru pentru ce sa converteasca 
ActiveWorkbook.Sheets("PDF ANG").Select 
Selection.AutoFilter Field:=1, Criteria1:="<>" 'column A 
Selection.AutoFilter Field:=5, Criteria1:="<>" 'column E 

'Selectie raza pentru conversie 
With ActiveWorkbook.Sheets("PDF ANG") 
Set ThisRng = .Range("A2", .Cells(.Rows.Count, "F").End(xlUp)) 
End With 

'Prompt for save location 
strfile = "Selection" & "_" _ 
& Format(Now(), "yyyymmdd_hhmmss") _ 
& ".pdf" 
strfile = ThisWorkbook.Path & "\" & strfile 
myfile = Application.GetSaveAsFilename _ 
(InitialFileName:=strfile, _ 
FileFilter:="PDF Files (*.pdf), *.pdf", _ 
Title:="Select Folder and File Name to Save as PDF") 
If myfile <> "False" Then 'save as PDF 
ThisRng.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
myfile, Quality:=xlQualityStandard, IncludeDocProperties:=True, _ 
IgnorePrintAreas:=False, OpenAfterPublish:=True 
Else 
MsgBox "No File Selected. PDF will not be saved", vbOKOnly, "No File Selected" 
End If 
ActiveWorkbook.Sheets("PDF ANG").ShowAllData 
ActiveWorkbook.Sheets("PDF ANG").Visible = False 

End Sub 
+0

已測試 - 像這樣工作 – MisterA