- 締切済み
EXCELシートの新規作成時の設定
いつもお世話になっております。 excelのシートを新規作成するとき、印刷設定が 決まっていますよね?それを初めから設定する方法は ないもんでしょうか?現在は、VBAで1枚シートを 追加するたびに自動設定するようにしているのですが 時間がかかって・・・1枚作成するのに6秒ぐらい かかってしまいます。 「シートの移動と作成」でコピーした場合、20枚 位で限界がきて、それ以上作成できなくなってしまいます。この限界をなくす方法でもかまいません。 どうか宜しくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- papayuka
- ベストアンサー率45% (1388/3066)
再びこんにちは。 > test(1)(2)ともに成功してしまいました。 Excel97のバグなので、以降のバージョンだと修正されているのかな? > これの繰り返しなんですが、御回答では作成し続けられるはずだと思うんですが VBE画面で見て、Sheetのオブジェクト名が Sheet1111111111111111111111111 のようになっていないのなら、原因は別の所にあるのでしょうね。
- papayuka
- ベストアンサー率45% (1388/3066)
こんにちは。 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
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルのファイル-ページ設定をブック全体に一度の操作で、あるいは どこかの設定(ツール-オプションのような)で設定できないかと言う ご質問と思います。エクセルのプログラムはエクセル-ブック-シート-範囲・セル と言う階層構造になっていますが、マクロ記録を取ってみれば判りますが、ページ設定はVBAで見るとActiveSheet.PageSetupとあり、シートごとに設定することが エクセルのプログラム構造上から伺えます。だからブックのレベルでは 設定できないと思います。反対に普通はシートごとにページ設定が出来るので、メリットを受けているユーザーも多いと思います。 VBAで組めば、全シートにSheet1のページ設定と同じに自動で設定は可能です。#1のご回答のWEBで出てくる「全シートに一括で設定」は VBAによる解決で、それを伺わせます。
お礼
ありがとうございます。 やはりシートごとの設定ですか、複数のシートを追加したあとに、一気に設定してやると、少しは処理が早いかなと思ったんですが、 sheet1~sheet12なんていう選びかたができそうに なかったものですから。地道にやることにします。
- jein
- ベストアンサー率49% (2799/5705)
おそらく・・テンプレートファイルを設定しておけばいいような気がしますが。 こちらのページの内容が参考になるかもしれません。 http://www.hm2.aitai.ne.jp/~naka95/Excel_Note/09-01_insatu.htm
お礼
ありがとうございます。 テンプレートはできるだけ使用したくないもので.. というのも、不特定多数の人間が、使用するもので、 ひとつのEXCELファイルでまとめたかった ものですから。 URLは、参考にさせて頂きます。
補足
ありがとうございます。 お話はよくわかったんですが、test(1)(2)ともに成功してしまいました。どちらもsheets101まで追加して終了しました?何か操作がおかしかったのかもしれませんが。 ところで、手動操作で(VBAで組んだつもりの操作です)下記を行ったところ、23枚目でうんともすんとも言わなくなりました。この原因も御回答の何かに起因しているのでしょうか?ぜひともお教えください。 いくつかのシートのある中で、「format」を選択、右クリックにてメニュー「移動またはコピー」を選択。 コピーを作成するにチェックを入れ、シートの一番左端に「format(2)」を作成。 シート名を「1」と変更 同様に「format」を選択、左端にコピーを作成。 シート名を「2」と変更。 これの繰り返しなんですが、御回答では作成し続けられるはずだと思うんですが...原因がさっぱりわかりません。