プロが教える店舗&オフィスのセキュリティ対策術

ウィンドウズ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

どなたかよろしくお願いします。

A 回答 (4件)

#3です。


前半は、↓これだけでも大丈夫そうです。

Sheets("概要表").Copy

概要表のシートをコピーして新規のブックにします。
(シートがこれ一枚になるのが欠点ですが)
kyrie_esumiさんのご希望に合わないかもしれないですが、ご参考まで。

まとめるとこうなります。

Sub test()
  Sheets("概要表").Copy
  Application.Dialogs(xlDialogSaveAs).Show ARG2:=1
End Sub
    • good
    • 0
この回答へのお礼

ご指摘いただきまして、ありがとうございました。
この方法でうまくいきました。
お手数をおかけして申し訳ありませんでした。

お礼日時:2003/05/19 19:20

>そこに入力した文字列をファイルネームとして(現在****)保存したいのですが。




後半はこれでよいのでは?

Application.Dialogs(xlDialogSaveAs).Show ARG2:=1

初心者なのであまり自信なし。
    • good
    • 0

>メッセージボックスを表示させてそこに入力した文字列


であれば、InputBoxです。
でも、Application.GetOpenFilenameが適切でしょう。
    • good
    • 0

後半をこんなふうにして下さい。



ActiveWorkbook.SaveAs Filename:= _
InputBox("保存するファイル名を入力してください") & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False

とりあえずこれで動くはずです。

もし保存場所を選択する必要があるようでしたら別の回答をお待ちください。
    • good
    • 0
この回答へのお礼

どうもありがとうございました。この方法ではなく、#4の方の方法で解決しましたが、どうもありがとうございました。

お礼日時:2003/05/19 19:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!