• 締切済み

EXCELシートの新規作成時の設定

いつもお世話になっております。 excelのシートを新規作成するとき、印刷設定が 決まっていますよね?それを初めから設定する方法は ないもんでしょうか?現在は、VBAで1枚シートを 追加するたびに自動設定するようにしているのですが 時間がかかって・・・1枚作成するのに6秒ぐらい かかってしまいます。 「シートの移動と作成」でコピーした場合、20枚 位で限界がきて、それ以上作成できなくなってしまいます。この限界をなくす方法でもかまいません。 どうか宜しくお願いします。

みんなの回答

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.4

再びこんにちは。 > test(1)(2)ともに成功してしまいました。 Excel97のバグなので、以降のバージョンだと修正されているのかな? > これの繰り返しなんですが、御回答では作成し続けられるはずだと思うんですが VBE画面で見て、Sheetのオブジェクト名が Sheet1111111111111111111111111  のようになっていないのなら、原因は別の所にあるのでしょうね。

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.3

こんにちは。 Excelのバージョンによって違うかも知れませんが、、、 コピーに失敗するのは、絶えず追加されたシートをコピーしていく場合です。 Sheet1をコピー、Sheet1(1)が出来る Sheet1(1)をコピー、Sheet1(2)が出来る     ・     ・ Sheet(26)をコピー、Sheet(27)が出来る これをVBE画面で見るとシートのオブジェクト名が Sheet1 Sheet11 Sheet111  ・  ・ Sheet111111111111111 のようになっているハズです。このオブジェクト名が長くなりすぎるのが失敗の原因です。 絶えず最初のSheet1をコピーすれば、オブジェクト名は Sheet1 Sheet2 Sheet3 のようになり、数百枚でも追加可能になります。 新規ブックの標準モジュールにTest1とTest2をコピーして、Sheetを1枚だけにして試して見て下さい。 Sub Test1()  '成功する  For i = 1 To 100   Worksheets(1).Copy after:=Worksheets(Worksheets.Count)  Next i End Sub Sub Test2()  '途中で失敗する  For i = 1 To 100   ActiveSheet.Copy after:=ActiveSheet  Next i End Sub

nappa
質問者

補足

ありがとうございます。 お話はよくわかったんですが、test(1)(2)ともに成功してしまいました。どちらもsheets101まで追加して終了しました?何か操作がおかしかったのかもしれませんが。 ところで、手動操作で(VBAで組んだつもりの操作です)下記を行ったところ、23枚目でうんともすんとも言わなくなりました。この原因も御回答の何かに起因しているのでしょうか?ぜひともお教えください。 いくつかのシートのある中で、「format」を選択、右クリックにてメニュー「移動またはコピー」を選択。 コピーを作成するにチェックを入れ、シートの一番左端に「format(2)」を作成。 シート名を「1」と変更 同様に「format」を選択、左端にコピーを作成。 シート名を「2」と変更。 これの繰り返しなんですが、御回答では作成し続けられるはずだと思うんですが...原因がさっぱりわかりません。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

エクセルのファイル-ページ設定をブック全体に一度の操作で、あるいは どこかの設定(ツール-オプションのような)で設定できないかと言う ご質問と思います。エクセルのプログラムはエクセル-ブック-シート-範囲・セル と言う階層構造になっていますが、マクロ記録を取ってみれば判りますが、ページ設定はVBAで見るとActiveSheet.PageSetupとあり、シートごとに設定することが エクセルのプログラム構造上から伺えます。だからブックのレベルでは 設定できないと思います。反対に普通はシートごとにページ設定が出来るので、メリットを受けているユーザーも多いと思います。 VBAで組めば、全シートにSheet1のページ設定と同じに自動で設定は可能です。#1のご回答のWEBで出てくる「全シートに一括で設定」は VBAによる解決で、それを伺わせます。

nappa
質問者

お礼

ありがとうございます。 やはりシートごとの設定ですか、複数のシートを追加したあとに、一気に設定してやると、少しは処理が早いかなと思ったんですが、 sheet1~sheet12なんていう選びかたができそうに なかったものですから。地道にやることにします。

  • jein
  • ベストアンサー率49% (2799/5705)
回答No.1

おそらく・・テンプレートファイルを設定しておけばいいような気がしますが。 こちらのページの内容が参考になるかもしれません。 http://www.hm2.aitai.ne.jp/~naka95/Excel_Note/09-01_insatu.htm

参考URL:
http://www.hm2.aitai.ne.jp/~naka95/Excel_Note/09-01_insatu.htm
nappa
質問者

お礼

ありがとうございます。 テンプレートはできるだけ使用したくないもので.. というのも、不特定多数の人間が、使用するもので、 ひとつのEXCELファイルでまとめたかった ものですから。 URLは、参考にさせて頂きます。

関連するQ&A