frswataru
@frswataru (本石 渉)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Excel VBA  フィルタからのExcelブック印刷

解決したいこと


下記の様なテーブルがあります。
・Column1_更新年月日
・Column2_PJ
・Column3_FL
・Column4_URL(Excelファイリングの保存先)
<解決したい事>
ユーザーがテーブルフィルターし印刷ボタンを押し該当のレコードファイルのみ印刷したいです。

解決方法を教えて下さい。
image.png

###ソースコード


' メインプロシージャ
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

1Answer

これでフィルターをして

印刷すれば出来るかなと

両方とも、マクロの記録が可能なので、試してみるのが近道だと思います。

image.png

0Like

Your answer might help someone💌