• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのマクロでシートの指定範囲をセル名で保存)

エクセルのマクロでシートの指定範囲をセル名で保存

このQ&Aのポイント
  • エクセルのマクロを使用して、特定のシートの指定範囲をセル名で保存する方法を教えてください。
  • 保存するファイルはPDF形式で、印刷範囲やページ設定を保持して保存する必要があります。
  • また、保護の範囲や編集許可の範囲も保持したファイルにしたいのです。

質問者が選んだベストアンサー

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.1

ExportAsFixedFormat メソッド (Excel) には、 PDF または XPS 形式に保存する機能しかありません。 https://docs.microsoft.com/ja-jp/office/vba/api/excel.workbook.exportasfixedformat 期待のことを行うとすれば ・新規ブックを開く ・期待のシートをそこに複写する ・複写先のブックを保存する という作業が必要です。 コードを例示します。 Option Explicit Sub Sample()  Dim PutBk As Workbook  Dim GetBk As Workbook  Dim PutFName As String  Const CpNum = 1      'コピー元シート番号  Const PutDir = "D:\MyTest" 'コピー先フォルダー  Set PutBk = Workbooks.Add  Set GetBk = ThisWorkbook    GetBk.Sheets(CpNum).Copy before:=PutBk.Sheets(1) '  PutFName = PutDir & "\" & _    GetBk.ActiveSheet.Cells(20, 5).Value & ".xlsx"  'または  'PutFName = PutDir & "\" & _   GetBk.Sheets(CpNum).Cells(20, 5).Value & ".xlsx"    PutBk.SaveAs Filename:=PutFName, _     FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False  PutBk.Close End Sub

akira0723
質問者

お礼

PCのスキルの全く無い人を含む複数の人が使用する多数のファイルがあり、ここで教えていただいた種々の仕掛けを盛り込んで「ひな形」を作っています。 これを盛り込んだひな形を作って活用させていただきます。 ありがとうございました。

akira0723
質問者

補足

いつもいつも的確なご回答ありがとうございます。 朝一で動作確認し、一発で期待の通り「完動」(感動)しました。 しかし、pdfは実質2行で出来るので安易に質問しましたが、エクセルをエクセルで保存するのにこんなに手間がかかるとは意外であり、お手数をおかけしました。 大事に使わせていただきます。

すると、全ての回答が全文表示されます。

関連するQ&A