• 締切済み

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

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

  • nappa
  • お礼率60% (12/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/17068)
回答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

  • エクセルで作成したシートについて

    エクセルで作成したワークシートに原本とかコピーとかを表示させたい。但し、その文字は印刷はされない方法を教えてください。

  • エクセルで作成されたもので、方眼シートを探しています。

    エクセルで作成されたもので、方眼シートを探しています。 VBAで作られたものでなくても単に設定してあるものでいい のですが、自分ではどうもうまくいきません。 ひとマス何ミリというように実際印刷した際のイメージで作成できる ものを探しています。 どなたかご存知ないでしょうか?

  • Excelの書式設定

    VBAでマクロを作成して表を自動作成しています。 1シートに1種類の表を作成し、全部で8シートあります。それぞれの表は列数・列幅が異なり、A4横1ページにおさまらないものもあります。 すべての表をA4横1ページにおさめたいのですが、ヘッダーもつけたくて、それも同じヘッダーで、出力される大きさも同じにしたいです。 横1ページにおさめることだけを考えれば、印刷設定で設定できますが、ヘッダーを同じ大きさで出力するとなると、縮小もできません。 すべて自動で行いたいのですが、何かよい方法はないでしょうか? よろしくお願いします。

  • 自動でシートを作成するには?

    ブックを開くと自動でシートを作成したいのですが、日付が21日になったら新しくシートを作成するようにするにはどうしたらよいでしょうか? 使用しているのはエクセル2003です。 VBAを使用し、月が替わるたびにシートを作成するようには出来たのですが、21日になるたびに作成する方法がわかりません。 VBA初心者です。 よろしくお願いいたします。

  • エクセルの印刷設定

    エクセル2010についての質問です。 Sheet1に基本となる資料を作成し、印刷プレビューで確認したところ、わずかに1Pでは収まらないので、印刷設定でシートを1ページに印刷の設定を行いました。 その後、同じようなフォーマットで内容を多少変更した資料を5枚作成の必要が有ったので、Sheet1全体をSheet2にコピーして内容修正。同じようにSheet3~5まで全体をコピーして完成させました。その資料をパートの方に渡して印刷を依頼しておいたのですが、Sheet2~5まではわずかに1Pには収まらないまま印刷されてしまいました。 Sheet2から5までも同じような印刷設定を行わなかった当方のミスなのですが、この場合、それぞれのシートに『1ページに印刷する』という設定をするよりも、Sheet1の内容をSheet2にコピーする時、印刷設定(1ページに印刷する)そのものもSheet2にコピーする方法は無いのでしょうか? 以前に他部署の人と会話した時に、そのような印刷設定もコピー出来ると聞いた記憶が有るのですが。

  • Excelのシートのコピー

    現在268枚のシートが入ったファイルがあります。 1つ1つのシートはそれほど情報量が多いわけでもなく、大体印刷すると1ページにおさまるほどの量で 色もあまり使っていなく、単なる文字&表くらいです。 このファイルにあるシートを「移動またはコピー」を選んでコピーをすると、エラーは出ませんが、コピーできません。 移動はできます。 単に「挿入-新規シート」を選ぶと新規にワークシートを挿入することは出来ます。 (試しに370枚までやってみましたが、何のエラーも出ませんでした。) また、このファイルのシートを「移動またはコピー」で他の新規ブックにコピーしようとしてもできません。 移動はできます。 手作業ではなく、VBAではどうかと思いやってみましたが、やはりコピーはダメで移動はOKでした。 これはいったいなぜなのでしょうか? Excelは2000です。 2台のPCで試してみましたが、どちらでもダメでした。

  • EXCELで複数シート作成後、全シート書式設定の同一設定は可能か

     質問はタイトルの通りです。  EXCELの使用で、一つのファイルで複数シート作成し、個々のシートの複数のセルに別の文字等を入力後、何かの設定操作で全部のシートの書式設定を同一の書式設定にすることは可能でしょうか。  データ入力前でしたら、書式設定後にシートのコピーすれば同一書式に設定されているのでコピーして使用しています。  ちなみに使っているものはEXCEL2002 SP3です。  可能でしたら操作方法をお教えください。  宜しくお願い致します。

  • Excelでシートのコピーとシート名指定

    発注書をexcelで作っているのですが作成するシート数が多くなるので 完成したものは値貼り付けして保存したいと考えています。 VBAで以下のように行いたいのですがどなたかご教授下さい。 (1)発注書の保存用原紙(Sheet1)を作っておく (2)Sheet2で発注書を作成(計算式が入っておりここで色々考えて完成させる) (3)1部完成ごとにSheet1をコピーして新たなシートを追加し、Sheet2の内容を値貼り付けする。 (4)Sheet2のセルA1の内容をシート名にする。  (1)は新規にシートを追加するのでは印刷範囲指定など項目がコピー出来ないので  事前に書式諸々を作成した原紙を作っておきます。  (4)ではセルA1に発注Noを入れておくのですが重複した場合は安全のためエラーと  なると助かります。

  • エクセル複数シートから一定の範囲を1シートへVBA

    エクセルのVBAで質問です。 A1~A3行までは、タイトル(3行が列タイトル) A4行以降から一定のデータが入っており、商品ごとにシートを分けています。 列BF4~BM81までのデータを自動でコピーし、全データシートも自動でできればと思っています。 BF4列には、日付が入っており、複数のシートからコピーされたものは、日付順にて並べたい。「全データシート」を自動で作成する方法は、ネットにて調べることができたのですが、一定の範囲内の複数シートを合算し、日付順に並べ替えて自動でコピーするというのが分かりません。 VBAも全くの初心者です。 詳しくお教えいただればと思います。 よろしくお願いします。

  • 元データのシートにあるボタンを押すと、後ろのシートにデータをそのままコピーされてシートが追加できるようにしたい

    大変困っています。 会員マスタという元データを作成し、そのシートに「シート追加」という ボタンを作りました。 そのボタンを押すと、元データのシートの後ろにそのまま同じデータがコピーされて追加される様にVBAで設定したいです。 ・行などはずれない様に設定したい。 ・シート名は変更できるようにしたい。 ・コピーして追加したシートにはボタンは表示されないようにしたい。 急いでます。知恵を貸してください。

専門家に質問してみよう