Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12325 / 13646 ツリー ←次へ | 前へ→

【11092】1枚だけのシートを保存する方法は? miyake 04/2/27(金) 21:58 質問
【11093】Re:1枚だけのシートを保存する方法は? かみちゃん 04/2/27(金) 22:04 回答
【11107】Re:1枚だけのシートを保存する方法は? miyake 04/2/28(土) 11:56 質問
【11116】Re:1枚だけのシートを保存する方法は? かみちゃん 04/2/28(土) 14:54 回答
【11110】Re:1枚だけのシートを保存する方法は? Jカーター 04/2/28(土) 12:20 回答
【11113】Re:1枚だけのシートを保存する方法は? Jカーター 04/2/28(土) 12:47 発言
【11117】ありがとうございます miyake 04/2/28(土) 15:51 お礼

【11092】1枚だけのシートを保存する方法は?
質問  miyake  - 04/2/27(金) 21:58 -

引用なし
パスワード
   名前を付けてファイルを保存する際、シートが複数ある場合、任意の1枚のシートだけを保存するにはどうしたらいいのでしょうか。ご教示願います。
(余計なシートは保存しない方法とは?)

【11093】Re:1枚だけのシートを保存する方法は?
回答  かみちゃん  - 04/2/27(金) 22:04 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>名前を付けてファイルを保存する際、シートが複数ある場合、任意の1枚のシートだけを保存するにはどうしたらいいのでしょうか。ご教示願います。
>(余計なシートは保存しない方法とは?)

1.任意のシートを新しいブックにコピーしてから新しいブックを保存する。
2.余計なシートを削除してから保存する。
のどちらかの方法だと思います。
1.の方法の方がいいかと思いますが、ブックを2つ開いているので、元のブックと同じファイル名では保存ができないと思います。
また、シート間の計算式がある場合はどうするのでしょうか?
そのあたりの考え方を教えていただけますか?

【11107】Re:1枚だけのシートを保存する方法は?
質問  miyake  - 04/2/28(土) 11:56 -

引用なし
パスワード
   ありがとうございます。
新規ブックを追加し、そのブックにコピーして、その後、既存のsheet1からsheet3を削除する方法でよろしいのでしょうか。また、コピー元シートにコマンドボタンがいくつか配置されており、コピー後にすべてのコマンドボタンを削除し登録されているマクロも消去したいと思いますが、簡単な方法はありますか。

【11110】Re:1枚だけのシートを保存する方法は?
回答  Jカーター  - 04/2/28(土) 12:20 -

引用なし
パスワード
   ▼miyake さん:
こんにちは。

編集メニューの「シートの移動またはコピー」を実行
ダイアログの移動先ブック名で「新しいブック」を選んで
下の「コピーを作成する」にチェックして実行すると
コピーしたいブックが一個だけある新規ブックができます。
それを保存するのが一番簡単です。
(いらないシートの削除が必要ないので)

自動記録するとVBAにもできます。

といっても
Sheets("Sheet1").Copy
だけですけど

【11113】Re:1枚だけのシートを保存する方法は?
発言  Jカーター  - 04/2/28(土) 12:47 -

引用なし
パスワード
   こんにちは。

>コピーしたいブックが一個だけある新規ブックができます
コピーしたいシートが一個だけある新規ブックができます
でした。

【11116】Re:1枚だけのシートを保存する方法は?
回答  かみちゃん  - 04/2/28(土) 14:54 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>新規ブックを追加し、そのブックにコピーして、その後、既存のsheet1からsheet3を削除する方法でよろしいのでしょうか。また、コピー元シートにコマンドボタンがいくつか配置されており、コピー後にすべてのコマンドボタンを削除し登録されているマクロも消去したいと思いますが、簡単な方法はありますか。

Jカーターさんも書かれていましたが、新規ブックにコピーするのは、保存したいシートだけです。ですから、シートを削除する必要はありません。
ただし、前のコメントにも書きましたが、シート間の計算式は考慮しなくてもいいのでしょうか?

「コピー後にすべてのコマンドボタンを削除」するのは、次のコードでできると思います。
Sub OLEObjects_Del()
 'progIDについては、ヘルプまたは次のURLを参照
 'http://www.moug.net/skillup/opm/opm01-04.htm
 Dim obj As OLEObject
 'アクティブシートのコマンドボタンをすべて削除する。
 For Each obj In ActiveSheet.OLEObjects
  If obj.progID = "Forms.CommandButton.1" Then
   obj.Delete
  End If
 Next
End Sub

【11117】ありがとうございます
お礼  miyake  - 04/2/28(土) 15:51 -

引用なし
パスワード
   かみちゃんさん、Jカーターさん、ありがとうございました。非常に参考になりました。またよろしくお願いします。

12325 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free