プロが教えるわが家の防犯対策術!

先日、tatsu99様に教えていただいた内容と少し重複しますが
VBAでエクセルをPDFで保存するときに
下記の条件で保存する記述を教えていただけますでしょうか。

F列の小計が「0」の行は非表示の状態で、印刷範囲で設定された範囲内を、PDF保存。
※品数が多いときは、行が増えることもあり、行数は変動します

保存するときのファイル名はA1セルを参照し、
保存先は特定のフォルダ(\\server\事務\支払明細_PDF)を指定し、
最後に保存された先のメッセージボックスが出るようにし、
保存後、F列の小計が「0」の行はまた全て表示された状態にしたいです。

よろしくお願いいたします。

「小計の列が「0」の行は非表示で、エクセル」の質問画像

A 回答 (1件)

前回回答者です。


前回のは破棄してください。
データは6行から開始していること。
上記の前提です。
----------------------------------------------------------------------------------------------
Option Explicit

Sub PDF出力()
Const saveFolder = "d:\goo\excel\goo384\"
Dim fname As String
Dim fullname As String
Call 表示制御(True)
fname = ActiveSheet.Range("A1").Value & ".pdf"
fullname = saveFolder & fname
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fullname
Call 表示制御(False)
MsgBox (fullname & "保存完了")
End Sub

Private Sub 表示制御(flag)
Dim maxrow As Long
Dim row As Long
maxrow = Cells(Rows.Count, "F").End(xlUp).row 'F列の最大行取得
For row = 6 To maxrow
If Cells(row, "F").Value = 0 Then
Rows(row).EntireRow.Hidden = flag
End If
Next
End Sub
    • good
    • 0
この回答へのお礼

前回に引き続き、今回も早々にご回答いただきありがとうございます!
前回のものは前回のもので必要だったので、本当に助かりました。

またご相談させていただくこともあるかと思いますが、どうぞよろしくお願いいたします。

お礼日時:2018/09/05 20:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!