Excel VBA フィルタからのExcelブック印刷
解決したいこと
下記の様なテーブルがあります。
・Column1_更新年月日
・Column2_PJ
・Column3_FL
・Column4_URL(Excelファイリングの保存先)
<解決したい事>
ユーザーがテーブルフィルターし印刷ボタンを押し該当のレコードファイルのみ印刷したいです。
###ソースコード
' メインプロシージャ
Sub Main()
' 変数の定義
Dim filePath As String
Dim eRow As Long
' 最終行数取得
eRow = Cells(Rows.Count, 4).End(xlUp).Row
On Error GoTo myError
For Each cell In Range(Cells(9, 4), Cells(eRow, 4))
' ファイルパスの取得
filePath = cell.Value
' 印刷プロシージャの読み出し
Call PrintBook(filePath)
Next
MsgBox ("印刷が完了しました")
myError: ''この行にジャンプします
MsgBox "URLを入力してください。", vbExclamation
End Sub
' 印刷用プロシージャ
Sub PrintBook(ByVal filePath As String, Optional ByVal sheetName As String = "")
' ブックを操作するために用意
Dim wb As Workbook
' filePathで指定されたブックを開く
Set wb = Workbooks.Open(Filename:=filePath, ReadOnly:=True)
' シート名が指定されていない場合,読み込んだブックから取得
' If sheetName <> "" Then
' wb.Sheets(sheetName).Select
' End If
wb.Sheets(Array("CheckSheet1", _
"CheckSheet2", _
"CheckSheet3", _
"CheckSheet4", _
"エビテンス1", _
"エビテンス2", _
"エビテンス3")).Select
' 印刷ダイアログを開く
SendKeys "{ENTER}" '一気に印刷までしたい時はコメントを外す
Application.Dialogs(xlDialogPrint).Show
' ファイルを閉じる
wb.Close False
' wbの初期化
Set wb = Nothing
0