【VBA】データの最終行を部分一致でPDF保存する方法
日々の業務の中で大量のデータから特定の情報を抽出して報告書を作成することは多いでしょう。特に部分一致で必要なデータを見つけ出し、それをPDF形式で保存したい場合、手作業では時間がかかります。この記事では、VBAを使用して指定した文字列が含まれる最終行だけを選択し、その範囲をPDFに保存する方法を紹介します。
サンプルコード
VBA
Option Explicit
Sub SavePartialMatchLastRowAsPDF()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim rng As Range
Set ws = ThisWorkbook.Sheets("Sheet1") ' 対象のシート名を指定
Application.ScreenUpdating = False ' 画面更新停止
With ws
lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row ' 最終行取得
For i = 1 To lastRow
If InStr(1, .Cells(i, 1), "部分一致文字列", vbTextCompare) > 0 Then ' 部分一致条件
Set rng = Union(rng, .Rows(i)) ' 範囲を結合
End If
Next i
End With
If Not rng Is Nothing Then
rng.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\YourUsername\Documents\PartialMatchLastRow.pdf", Quality:=xlQualityStandard ' PDF保存
Else
MsgBox "指定の文字列が見つかりませんでした。", vbExclamation
End If
Application.ScreenUpdating = True ' 画面更新再開
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。