投稿のフォーマットエラーについてはお詫び申し上げますが、これはサイトを初めて使用したためです。Excel - VBAコードを使用して複数のシートを.pdfにエクスポート
私はボード上でこの質問を見てきましたが、それはかなり私の質問に答えていませんが、それは助けるために探している人のために有用である可能性がある - excel vba not exporting pagesetup to pdf correctly
私はそれぞれに指定された範囲の正確に同じ問題を抱えていますコードを使用して.pdf出力を作成するときにシートがエクスポートされていません。エクスポートされるのは各シートにあるすべてのものなので、各ワークシートは2ページ以上にわたっています。各シートの印刷範囲は、指定された領域を1枚に印刷するように設定される。
私は上記のリンクでコードを修正しようとしましたが、複数のシートでは機能しないようです。
は、私はその非適応形で使用しようとしていたコードは、もう少し、私は私のプリントがそれぞれに及ぶことを確立して実験した後
Sub ClientPDFOutput()
If Sheets("File Data").Range("FD_FileName") = "" Then
' MsgBox ("Save the file before exporting to a .pdf fomrat"), vbInformation, "Save File"
' Exit Sub
Else
End If
ActiveSheet.Unprotect Password:=strPassword
Range("UI_Status") = "Creating client PDF output - Please wait"
SelectSheets
Application.ScreenUpdating = False
Sheets(arrSheets).Select
strFilename = "Test"
Selection.ExportAsFixedFormat _
Type:=xlTypePDF, _
filename:=ActiveWorkbook.Path & "\" & strFilename & ".pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=True, _
OpenAfterPublish:=False
Sheets("User Input").Select
Range("UI_Status") = "Client .pdf output created and saved"
ActiveSheet.Protect Password:=strPassword
Application.ScreenUpdating = True
MsgBox ("The client output in .pdf format has been created and saved"), vbInformation, ".pdf Created"
End Sub
と
Sub SelectSheets()
Dim rngSheets As Range
Set rngSheets = Sheets("File Data").Range("D_OutputSheets")
If rngSheets.Count = 1 Then
arrSheets = rngSheets.Value2
Else
arrSheets = Application.Transpose(rngSheets.Value2)
End If
End Sub
の下TIA
ですページのうち、これらが訂正されました。
シート配列の一部として選択される前に、各シートの印刷範囲を選択するコードをいくつか追加しましたが、配列の最初のシートの印刷範囲がすべてのシートに複製されています...シート1の範囲がB4:P61で、シート2の印刷範囲がB4:M48の場合、シート2が選択されたときにシート2はB4:P61を選択しています。
これは、シート1には正しいが残りのシートに対しては間違った選択範囲を印刷します。
すべてのシート、ファイル、エクスポートを選択して手動で行うと、すべてのシートの印刷範囲がエクスポートされるので、これが記録されてルーチンに入れられると無視されます。
おかげ