• ベストアンサー

エクセルのワークシート

エクセルのワークシート エクセルのブックを開いたときに、シートが3枚あったら そのまま開いて、 3枚なかったら1枚追加する、ということをしたいのですが どのようにすればよいか、教えていただけないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.2

ブックを開いた時に実行されるマクロは以下の2通りあります。 ●ThisWorkbookモジュールのOpenイベント '--------------------------------------------- Private Sub Workbook_Open()   If Sheets.Count < 3 Then      Sheets.Add Before:=Sheets(1)   End If End Sub '---------------------------------------------- ●又は、標準モジュールに、Auto_Openプロシージャ作成 (Auto_Openはブックオープン時に自動で実行される) '---------------------------------------------- Sub Auto_Open()   If Sheets.Count < 3 Then   Sheets.Add Before:=Sheets(1)   End If End Sub '---------------------------------------------- ▲上記は、左端にシート挿入の場合です。 ▼右端に挿入する場合は   If Sheets.Count < 3 Then     Sheets.Add After:=Sheets(Sheets.Count)   End If ▼シートが常に3枚(以上)になるようにする場合は   Do While Sheets.Count < 3     Sheets.Add After:=Sheets(Sheets.Count)   Loop ------------------------------------------------ 以上です。

norisukedon
質問者

補足

myRangeさん 再びお世話になります。。。すみません。 またまた本を見てシートの挿入を見ていたのですが sheets.Add after:=Sheets(Sheets.Count), Count:=3 という例がありまして、 解説が Sheets.Countは、編集中のブックにあるシートの枚数を表します。 それをシート番号として指定するとそのシートは最後尾のシートを表します。 と書いてありました。 現在シートが2枚あるとすると、sheets.Add after:=Sheets(2) とも書けるということでしょうか?

その他の回答 (3)

  • myRange
  • ベストアンサー率71% (339/472)
回答No.4

myRangeです。 >現在シートが2枚あるとすると、sheets.Add after:=Sheets(2) >とも書けるということでしょうか? 現在シートが2枚あれば、Sheets.Count=2 ですから  Sheets(2)とSheets(Sheets.Count) は同じシートですから 上記の件はおっしゃるとおりです。 老婆心ながら一言。。(^^;;; 現在VBAの本(解説)を眺めているということですが 併せてVBAのヘルプも眺めるようにした方がベターだと考えます。 そして何よりも自分で試してみることです。 以上です。

norisukedon
質問者

お礼

myRangeさん そうですね。 自分で試してから、ですよね。 すみません。 ヘルプの方は、一応見てはいるのですが、解説が難しく また例も載っていますが具体的ではないので、はっきりと 理解が出来ないことが多いのです。 そこでこちらに来ているというわけです。 なるべく、自分で頑張ります。 ありがとうございました。

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

本課題はVBAを使わないと出来ないと思います。其れで良いのですか。 質問にはっきり書いておくこと。 その他(この後の処理)はVBA処理なんですか。 >ブックを開いたときに この点がVBAのイベントというものを使う必要があります。 >シートが3枚あったらそのまま開いて、 3枚なかったら1枚追加する、ということをしたいのですが どちらの場合も開くことには違いないでしょう。 全てブックを開いてからの後の処理になります。 ブックを開いて、2枚、1枚の場合は1枚追加したいと表現すること。 開けばSheets.Countでいまの枚数がわかるので、 その枚数が、2枚、1枚の場合は1枚追加(Shhets.Add) する。 3枚に鳴るように追加するとも取れる。正確に表現のこと。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

Shiftキーを押しながらF11キーを押します。

norisukedon
質問者

補足

言葉が足りず申し訳ありません。 VBAでブックを開いた時のコードを教えていただきたかったのです。

関連するQ&A

  • エクセル ワークシート操作

    エクセル VBAにてブックを閉じるときに作業をして追加した ワークシートを昇順、もしくは降順(名前、日付など)に 並び替えてから閉じるように する方法がわからないのですが? どのようにやるのでしょうか?

  • エクセルのワークシート

    エクセルのブックをワークシート一枚ずつ別々に保存する方法はありますか?教えてください!

  • エクセルのワークシートの挿入について

    エクセル2000を使っています。 15枚くらいのシートで構成されているエクセルBookですが、 メニューバー「挿入」-「ワークシート」とやっても新しいワークシートが挿入できません。 しかし、既存のシートのタグで右クリックして「挿入」-「ワークシート」と選択すると新しいワークシートが挿入できます。 同じ事だと思うのですが、何故違いが出てくるのでしょうか? また、1BOOK内に作成できるシートの最大数は何シート迄でしょうか?

  • Excelのワークシートを並べて表示する方法

    Excelのワークシートを並べて表示する方法 同じBook内のワークシートを並べて表示する方法を失念しました。 よろしくお願いします。

  • 他のワークシートが選べない

    Excel 2007(Vista) シートを開くと下にワークシートが見えず 同じBook内でほかのシートにいけません。 どうすればいいのでしょうか?

  • エクセルの複数のワークシートを名前順で並べ替えたい

    エクセルのブックの中にワークシートがたくさんあります。ワークシートの名前順で並べ替えることはできますか?

  • EXCEL VBA ワークシートのコピーについて

    seaclearsky8です。 一つのブックに何枚ものワークシートを追加して保存するVBAについて ご教授、よろしくお願いします。 コピー元  MASTER Book MASTER Workseets コピー先 Copy Book copy Worksheets コピー元にはワークシートがMASTERワークシートの一枚しかありません。 その一枚のワークシートに値をVBAで入れていき処理し コピー先のコピーBOOKにワークシートをコピーしていきたいです。 しかし、MASTERBOOKの処理が何通りかあり、 コピー元の一枚のワークシートに 処理別にデータを写し コピー先BOOKに          ワークシート名 ワークシート1 処理1ワークシート  ワークシート2 処理2ワークシート ワークシート3 処理3コピー元ワークシート3 という具合にワークシートを複数コピーしたいのですが 処理ごとにデータを代入し、コピー処理はできるのですが。 コピー先BOOK ワークシート3 処理3ワークシート だけしかコピーされてないBOOKが作成されます。 上書きされているのだと思われます。 対処法が調べましたが見つけられていません。 すいませんが対処法及び参考VBA等ご教授宜しくお願いいたします。

  • EXCEL VBA ワークシートのコピーについて

    seaclearsky8です。 一つのブックに何枚ものワークシートを追加して保存するVBAについて ご教授、よろしくお願いします。 コピー元  MASTER Book MASTER Workseets コピー先 Copy Book copy Worksheets コピー元にはワークシートがMASTERワークシートの一枚しかありません。 その一枚のワークシートに値をVBAで入れていき処理し コピー先のコピーBOOKにワークシートをコピーしていきたいです。 しかし、MASTERBOOKの処理が何通りかあり、 コピー元の一枚のワークシートに 処理別にデータを写し コピー先BOOKに          ワークシート名 ワークシート1 処理1ワークシート  ワークシート2 処理2ワークシート ワークシート3 処理3ワークシート という具合にワークシートを複数コピーしたいのですが 処理ごとにデータを代入し、コピー処理はできるのですが。 コピー先BOOK ワークシート3 処理3ワークシート だけしかコピーされてないBOOKが作成されます。 上書きされているのだと思われます。 対処法が調べましたが見つけられていません。 すいませんが対処法及び参考VBA等ご教授宜しくお願いいたします。

  • 別ブックの同一ワークシートの集計

    お世話になります。 早速ですが、Excelでブックが5つ、ワークシートがそれぞれ40あるとします。 これを、別ブックにまとめたいのです。 ワークシートの構成は全て、同じです。 同一ワークシート、同一セルの集計を別のブックにまとめたいです。 伝わりますでしょうか? よろしくお願いします。

  • エクセルでワークシートを消した・・・・

    無理なんですかねー 非常に困った失敗をしました。 たくさんのワークシートのあるエクセルファイルの ワークシートを消して・・・ 上書きしてしまいました。 復旧させる方法はないでしょうか? エクセル2003です。 エクセルの2000までであれば、ワークシートを消す際に「一度削除すると元に戻すことはできません」と表示されますが、 2003だと表示されないので、もしかして・・・とかすかな希望をもって書いてます。 めちゃくちゃこまってます。 教えてくださいm(_ _)m

専門家に質問してみよう