Excel VBAでフィルタリングされたデータをPDFで保存する方法

この記事では、Excel VBAを利用してフィルタリングされたデータをPDFで保存する方法について解説します。具体的なコード例とその詳細な解説を通じて、初心者から中級者まで、VBAの処理の基本をしっかりと掴むことができるでしょう。さらに応用例も紹介していますので、より高度な操作にも対応できるようになります。

目次

Excel VBAの基本

Excel VBA(Visual Basic for Applications)は、Microsoft Excelに組み込まれたプログラミング言語です。これを用いると、単純作業の自動化だけでなく、高度なデータ分析やレポート作成も可能になります。

そもそも、どこにVBAコードを書いて、どう実行すれば良いのか分からない場合は、以下の記事をご参照ください。

基本的な処理:フィルタリングされたデータをPDFで保存

Excelのデータをフィルタリングし、その結果をPDFとして保存する処理は、レポートやドキュメントの作成において非常に便利です。以下に、そのためのVBAコードを示します。


Sub SaveFilteredDataAsPDF()
    Dim ws As Worksheet
    Dim LastRow As Long
    Dim savePath As String

    'ワークシートの設定
    Set ws = ThisWorkbook.Sheets("Sheet1")
    '最終行の取得
    LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

    'PDFで保存するパスを指定
    savePath = "C:\example\filteredData.pdf"

    'フィルタリングされたデータの範囲をPDFとして保存
    ws.Range("A1:A" & LastRow).SpecialCells(xlCellTypeVisible).ExportAsFixedFormat _
        Type:=xlTypePDF, Filename:=savePath, Quality:=xlQualityStandard

    MsgBox "PDFが保存されました。", vbInformation

End Sub

コードの解説

1. 最初に、ワークシートとして”Sheet1″を指定しています。これは、操作対象のシート名に応じて変更する必要があります。
2. `LastRow`はシート内の最後のデータ行を取得するために使用します。
3. `savePath`で、PDFとして保存するファイルのパスを指定します。必要に応じて変更してください。
4. 最後に、`ExportAsFixedFormat`メソッドを使用して、フィルタリングされたデータの範囲をPDFとして保存します。

応用例

1. 保存先のファイル名に現在の日付を追加


savePath = "C:\example\filteredData_" & Format(Now, "yyyymmdd") & ".pdf"

これにより、`filteredData_20230916.pdf` のように日付がファイル名に追加されます。

2. 複数のシートのフィルタリングデータを一つのPDFに保存


Sub SaveMultipleSheetsAsPDF()
    Dim savePath As String
    savePath = "C:\example\multiFilteredData.pdf"
    ThisWorkbook.Sheets(Array("Sheet1", "Sheet2")).Select
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=savePath, Quality:=xlQualityStandard
End Sub

このコードでは、”Sheet1″と”Sheet2″のフィルタリングされたデータを1つのPDFに保存します。

3. PDFの保存前にプレビューを表示


ThisWorkbook.Sheets("Sheet1").PrintPreview

このコードを追加することで、保存前にPDFのプレビューが表示されます。確認後、保存を進めることができます。

まとめ

Excel VBAを使って、フィルタリングされたデータをPDFで簡単に保存する方法を学びました。これをベースに、応用例を使ってより高度な操作も可能です。VBAの力を活用して、日常の業務をより効率的に行いましょう。

VBAも良いけどパワークエリも良い

VBAの解説をしてきましたが、VBAは正直煩雑でメンテナンス性が悪いです。最近はモダンExcelと呼ばれるパワークエリやパワーピボットへのシフトが進んできています。本サイトでもパワークエリの特集をしており、サンプルデータを含む全11回の学習コンテンツでパワークエリを習得することができます。

クリックするとパワークエリの全11講座が表示されます。

パワーピボットの記事はありません。興味がある場合は、書籍で学んでみてください

コメント

コメントする

目次