- ベストアンサー
エクセル2000 VBA
ウィンドウズ2000 エクセル2000です。 ブックの中のシートを一枚だけコピーして別のブックに名前を付けて保存したいと思っています。 「'コピーするシートを選ぶ Sheets("概要表").Select '全部選んでコピー Cells.Select Selection.Copy '新しいブックを選ぶ Workbooks.Add Cells.Select '新しいブックにコピーを貼り付ける。 ActiveSheet.Paste Application.CutCopyMode = False」 ここまでは順当に動いています。 質問は アクティブになった新しいブックを保存したいです。 一行から二行目にかけて設定しているファイルネームを、 メッセージボックスを表示させてそこに入力した文字列 をファイルネームとして(現在****)保存したいのですが。 ActiveWorkbook.SaveAs Filename:= _ "**********.xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False どなたかよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#3です。 前半は、↓これだけでも大丈夫そうです。 Sheets("概要表").Copy 概要表のシートをコピーして新規のブックにします。 (シートがこれ一枚になるのが欠点ですが) kyrie_esumiさんのご希望に合わないかもしれないですが、ご参考まで。 まとめるとこうなります。 ↓ Sub test() Sheets("概要表").Copy Application.Dialogs(xlDialogSaveAs).Show ARG2:=1 End Sub
その他の回答 (3)
- tbobi
- ベストアンサー率45% (544/1189)
>そこに入力した文字列をファイルネームとして(現在****)保存したいのですが。 後半はこれでよいのでは? Application.Dialogs(xlDialogSaveAs).Show ARG2:=1 初心者なのであまり自信なし。
- todo36
- ベストアンサー率58% (728/1234)
>メッセージボックスを表示させてそこに入力した文字列 であれば、InputBoxです。 でも、Application.GetOpenFilenameが適切でしょう。
- brick
- ベストアンサー率12% (2/16)
後半をこんなふうにして下さい。 ActiveWorkbook.SaveAs Filename:= _ InputBox("保存するファイル名を入力してください") & ".xls", FileFormat:= _ xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _ , CreateBackup:=False とりあえずこれで動くはずです。 もし保存場所を選択する必要があるようでしたら別の回答をお待ちください。
お礼
どうもありがとうございました。この方法ではなく、#4の方の方法で解決しましたが、どうもありがとうございました。
お礼
ご指摘いただきまして、ありがとうございました。 この方法でうまくいきました。 お手数をおかけして申し訳ありませんでした。