Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


439 / 13645 ツリー ←次へ | 前へ→

【80303】シートを範囲してPDF出力 FUKUDA 19/1/18(金) 10:45 質問[未読]
【80305】Re:シートを範囲してPDF出力 マナ 19/1/18(金) 18:25 発言[未読]
【80306】Re:シートを範囲してPDF出力 マナ 19/1/18(金) 21:15 発言[未読]
【80316】Re:シートを範囲してPDF出力 FUKUDA 19/1/24(木) 13:31 お礼[未読]

【80303】シートを範囲してPDF出力
質問  FUKUDA  - 19/1/18(金) 10:45 -

引用なし
パスワード
   初めて利用させていただきます。

現在仕事で使用する書類のフォーマットを作成しており、提出方法をエクセル機能によるPDF出力に統一させたいため、マクロボタンで簡便にできるよう試行錯誤しておりました。

エクセルブックにシートが3つあり、IFの場合分けで出力範囲を指定する
ことを目標としており、各所調べて以下のようなプログラムを作成しました。

ところがIF分の場合分け通りにメッセージボックスが表示されているのにもかかわらず出力されるPDFデータはどちらの場合でも3シートとも出力されてしまいます。

PrintPreviewでフローを確認すると正常にシートが選択されているようなのですが、PDF出力にしたとたん上記のようになってしまします。

どなたか原因がわかる方がいらっしゃいましたらご教授いただけると幸いです。

鎧市区お願いいたします。


〜〜以下プログラム〜〜

Sub Pictureserch()

  Dim PictureCount
  Dim rc As VbMsgBoxResult
  Dim currentFolderPath As String
  Dim fileName As String
  Dim savePath As String
  
  currentFolderPath = ActiveWorkbook.Path

  fileName = Range("D3") & Range("E3") & "_" & Range("D4").Value & ".pdf"

  savePath = currentFolderPath & "\" & fileName

PictureCount = Worksheets("写真").Pictures.Count

  If PictureCount > 0 Then
   
   rc = MsgBox("写真シート内に写真データがあります写真シートも含めてPDF出力しますか?", vbYesNo + vbQuestion)
   
   If rc = vbYes Then
   
   MsgBox "PDFデータを本エクセルデータと同じフォルダに出力します。", vbInformation
   
   Worksheets.Select
   'ActiveWorkbook.PrintPreview
   ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, fileName:=savePath '選択したシートをPDF出力
   
   Else
   
   MsgBox "処理を中止します", vbCritical
   
   End If

Else

    rc = MsgBox("写真シート内に写真データがありません写真シートを除いてPDF出力しますか?", vbYesNo + vbQuestion)
   
    If rc = vbYes Then
   
   MsgBox "PDFデータを本エクセルデータと同じフォルダに出力します。", vbInformation
   
    Worksheets(Array("カルテ", "対応一覧")).Select
    'ActiveWorkbook.PrintPreview
    ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, fileName:=savePath '選択したシートをPDF出力
   
   Else
   
   MsgBox "処理を中止します", vbCritical
   
   End If

  End If


End Sub

【80305】Re:シートを範囲してPDF出力
発言  マナ  - 19/1/18(金) 18:25 -

引用なし
パスワード
   ▼FUKUDA さん:

>ところがIF分の場合分け通りにメッセージボックスが表示されているのにもかかわらず出力されるPDFデータはどちらの場合でも3シートとも出力されてしまいます。


>ActiveWorkbook.ExportAsFixedFormat

ActiveWorkbookだから、ブック全体が対象になっているのではありませんか。

【80306】Re:シートを範囲してPDF出力
発言  マナ  - 19/1/18(金) 21:15 -

引用なし
パスワード
   ▼FUKUDA さん:

>ActiveWorkbookだから、ブック全体が対象になっているのではありませんか。

で、選択したシートのみを対象にするには、どうしたらよいか。
まずは、手作業で試して、そのあと「マクロの記録」です。

【80316】Re:シートを範囲してPDF出力
お礼  FUKUDA  - 19/1/24(木) 13:31 -

引用なし
パスワード
   ▼マナ さん:
Activesheetsにしたところ正常に動作しました。
引用したサイトの情報を信じ切ってしまっていました・・・。
ご助言ありがとうございました。

439 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free