- 締切済み
新しいBookの作成マクロ
現在使用しているBOOKの一部をクリアして、同じフォルダ内にBOOKの名前だけ変えて年度が変わっても使えるように更新マクロを作成したのですが下のエラ-がでます。 実行時エラ-’70’書き込みできません BOOKを保護している訳でもありませんし、読み込み専用にもなっていません。ご教授ください。 Sub 更新() ' 入力内容を消去 Sheets("シ-ト").Select Range("B3:T65536").Select Selection.ClearContents ’・・・・・・・・・・・・・・・・ FFF:フォルダF11が保存されているフォルダ名 F11:ブックBBBが保存されているフォルダ名 BBB:現在使用しているブック 名 B22:新しく使う(変更後の)ブック名 ’・・・・・・・・・・・・・・・・・・・・・ ’BOOK1(ブック名BBB)を複写してBOOK2(ブック名B22)をつくる FileCopy "D:\FFF\F11\BBB.xls", "D:¥FFF\F11\B22.xls" ’BOOK1の名前をBOOK2へ変更 Name "D:\FFF\F11\BBB.xls" As "D:FFF\F11\B22.xls" 'メニュー画面を表示 Worksheets("初期画面").Activate Range("A1").Select End Sub
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 失礼かもしれませんが、きれいに書いているのですが、私のいくつか知っている言語とは違うようです。もしも、実際のものと違うなら、なるべく正確に記述してください。そのままでは、そのような実行時エラーまでは出ません。 それと、仮に、そうであっても、ロジックがヘンです。 シートを消去して、その元のブックをコピーする、というところで、そのシートを消去したブックは、仮想空間上にあるのですから、仮に、コピー(内部コマンドはできない)が出来たとしても、保存していないのですから、物理的には、シートを消去していないブックがコピーされます。 そして、同じフォルダ内のコピー先名を新しい名前にしておいて、そして元のブック名をコピー先名に変えようとすれば、その時点で、論理的エラーではないでしょうか? 最初に、そのコードでは、BOOK1(ブック名BBB)の所在自体が間違っていませんか?もしも、ファイル名交換でしたら、一旦、Temporary ファイルを置かないと出来ないはずです。 単に、箇条書きで、文章で書いてみても分かるはずです。
- masa_019
- ベストアンサー率61% (121/197)
こんにちは。 そのマクロはどこに書いてありますか? もしかして、BBB.xls に書いて、実行しようとしていませんか? 「既に開いているファイルに対して、FileCopy ステートメントを実行しようとすると、エラーが発生します。」 とヘルプにも書いてあります。 Name ステートメントについても同様ですが、 ファイルのコピーや名前変更の操作対象になっていない ブックにマクロを記述して実行すればうまく行くと思います。