ここから本文です

EXCELのマクロについて教えてください。 当方マクロ超初心者なのです。

アバター

ID非公開さん

2019/6/2302:28:16

EXCELのマクロについて教えてください。
当方マクロ超初心者なのです。

たくさんあるワークシートの中から任意の複数シートをPDFにして保存したいのですが、保存先が選べるようににダイアログを表示したいのです。その際名前だけは選んだ最初のシートのA1セルの文字列が反映されるようにしたいのですが、どのようにしたら良いのでしょうか。できるだけ短いコードが良いのですが、どなたか教えてください。お願いします。

この質問は、活躍中のチエリアン・専門家に回答をリクエストしました。

閲覧数:
82
回答数:
2
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

kky********さん

2019/6/2313:56:21

>任意の複数シートを
これはどうように指定したいのですか?

>使う人により使用済みの名前の可能性があるため。
>変えることもできるようにダイアログに表示はさせたいのです。
これの意味がよくわかりません。
シート名の一覧をリストボックスに表示して選択させるような事でしょうか?

  • アバター

    質問者

    ID非公開さん

    2019/6/2314:41:26

    こんにちは、
    >任意の複数シートを
    というのはBookの中に50位のワークシートがあり、その中から3ケから5ケほどのシートを選択して同時にPDF化したいのです。

    >使う人により使用済みの名前の可能性があるため。
    複数の人間で使うのですが、人によりA1セル連動の名前では都合が悪い場合があり、その場合は適宜変更もできるようにしたいということです。

    >変えることもできるようにダイアログに表示はさせたいのです。
    tok***さんからいただいたコードが理想に近かったのですが、ファイルの保存先の選択はできるのですが、ファイル名が変更できなかったので、名前も保存先も変更できるようにダイアログを表示させていのです。

    説明も全くの素人でわかり辛くて申し訳ありません。

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

アバター

質問した人からのコメント

2019/6/23 20:23:11

ありがとうございました。
急ぎの仕事で困っていましたが、解決できました。

ベストアンサー以外の回答

1〜1件/1件中

tok********さん

2019/6/2312:09:12

こんな感じです。選択されたシート(複数可)に対応します。
動作確認済みです。アレンジはご自分でどうぞ。


Sub sampleP()
Dim fld, tmp
'フォルダを選択
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = True Then fld = .SelectedItems(1)
End With
'A1
tmp = ActiveWindow.SelectedSheets(1).Range("A1")
'保存
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fld & "\" & tmp
End Sub

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる