EXCEL2010でVBAを使用して指定した数だけシートを作成する方法

このQ&Aのポイント
  • EXCEL2010でVBAを使用して、指定した数だけワークシートを作成する方法を教えてください。
  • シートA11に入力された数を確認し、その数だけシートを作成します。シートの名前は○1・○2というように、文字に数を増やしていきます。指定した数だけシートを作成したら、もう一度同じ処理を行います。ただし、シートの名前は×1・×2~というように異なる名前で作ります。
  • 例えば、A11の値が5の場合、○1・○2・○3・○4・○5と×1・×2・×3・×4・×5の計10個のシートが作成されます。○と×のシートを指定した数だけ作成する方法を教えてください。
回答を見る
  • ベストアンサー

EXCEL2010 VBA 指定した数だけシートを

EXCEL2010でVBAを使用して指定した数だけワークシートを作成したいと思います。 シートA11に入力してある数を確認してその数だけシートを作成します。 作成したシート名は○1・○2という風に文字に数を増やしていきます。 指定した数だけシートを作成したらもう一度この処理を行います。 ただしシート名は×1・×2~という風に違う名前で作ります。 (例) A11の値は5 シート ○1・○2・○3・○4・○5 と シート ×1・×2・×3・×4・×5 の計10個のシートを作成する。 ○と×のシートを指定数だけ作成する。 説明が下手で分かりにくいかもしれませんが上記の方法を教えてください。よろしくお願いします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

sub macro1()  dim a, i, j  a = array("○","×")  on error resume next  for i = 0 to 1   for j = 1 to worksheets("Sheet1").range("A11").value    worksheets.add(worksheets(worksheets.count)).name = a(i) & j   next j  next i end sub #A11のシートの名前を正しくマクロに記入してから実行すること

Not_Pro
質問者

お礼

回答ありがとうございます。 2度も助けていただきありがとうございます。 とても助かりました。

関連するQ&A

  • EXCEL2010 VBA 一つの項目で全て表示

    EXCEL2010のVBAでグラフを作成しています。 シートAに規定値があります。(セルD1) シートA1:A10の売上データを範囲指定して作成した 折線グラフに規定値の値を表示したいと思います。 規定値はセルD1にしか入力されていませんがこれをグラフのA1からA10の部分まで表示させたいと思っています。 一つしかないデータで複数行範囲指定したような風にできないかということです。 説明が下手で分かり辛いですがどなたか良い方法をご教示お願いします。 (例 折線グラフ)         ┃  ___             ┃/   \_/  ←売上データ         ┃______  ←規定値         ┃         ┗━━━━━━━          A1   ~  A10

  • EXCEL2010 VBA 複数の条件のグラフ

    EXCEL2010のVBAでグラフを作成するコードを作成しています。 そのグラフでは指定した値で系列の数が変わります。 初期設定シートで指定値1と2を確認して指定値1が系列の数、指定値2がデータ範囲となります。 データ範囲はB列のB1から指定値2の数だけ下に増えます。 Sheet1にグラフを新規作成します。 (例) 指定値(A1):1の時 指定値(A2):20 グラフに表示される系列:(B1:B20) (例2) 指定値(A1):2の時 指定値(A2):20 グラフに表示される系列:(B1:B20)と(B21:B40) 説明が分かり辛いかもしれませんがよろしくお願いします。

  • EXCEL2010 VBA 文字コード

    EXCEl2010のVBAで作成しています。 シート1のA1とA2に値を入力し、A1は行数を示しA2はアルファベットの数を表します。 値の分だけシート2のA1から下にアルファベットを表示していきます。 このアルファベットの表示を繰り返し処理でうまく作成したいと思っています。 アルファベットは文字コードがあり、そのコードの数に数字を加えたらAをBに変えるなどが できるという話を聞いたことがあるのですが。。。 どなたか良い方法があれば教えてください。 (例) シート1!A1:3 シート1!A2:4 の場合 シート2 A1:A A2:A A3:A A4:B A5:B A6:B A7:C A8:C A9:C A10:D A11:D A12:D

  • 複数のEXCELシートの印刷順の指定

    EXCEL97の一つのブックに200程度のワークシートがあります。ワークシート名はそれぞれ1~200までの数値になっており、ランダムに並んでいます。シート名の降順で印刷をおこなうEXCEL VBAのコードを教えてください。

  • EXCEL2007 VBA アクティブでないワークシートの名前を取得したい

    Sheet1とSheet2の【A1セル】【B1セル】には以下の処理が入っています。また2つのシートにはVBAを使って、再計算がされるたびに自身のシート名を表示するメッセージボックスを出力する処理を記述しています。 【A1セル】  リアルタイムで値が送られてくる。 【B1セル】  A1セルの値を使った式 【VBA】  Private Sub Worksheet_Calculate()   MsgBox **************  End Sub ここからが質問なんですが、Sheet3をアクティブシートにしている場合、VBAの「*****」の部分に何と記述すれば、再計算されたシート名を取得できますか?

  • <ACCESS VBA -> EXCEL>getObjectしたEXCELファイルのシートを指定したい

    ACCESSのVBAマクロでEXCELファイルを指定してデータを取得しようとしています。 GetObject("C:\ファイル名.xls", "Excel.Sheet") でEXCELファイルを取得するまでは良いのですが、そのファイルのシートを指定する方法がわかりません。 基本かもしれませんが、ご教示をお願いします。

  • EXCEL2010 VBA グラフの作成

    EXCEL2010のVBAで自動でグラフを作成するコードを作成したいと思っています。 シート1のA1:A10にデータが入っていて、ボタンを押すとコードが実行されて A1:A5までが系列1 A6:A10までが系列2 として表示される折れ線グラフを作成しようと思っています。 さらに作成したグラフは新規にシートを作成して作成したシートに表示させたいと思います。 このような処理を行いたいのですがVBAを始めたばかりなのでグラフの作成くらいしかまだ 分かっていません。 どなたかこの処理を実現できる良い方法を教えてください。よろしくお願いします。

  • Access VBAからExcelシートの削除

    お世話になります。 Access VBA から指定したExcelシートの削除を行うプログラムを下記の通りに記載しています。 Set oApp = CreateObject("Excel.Application") oApp.Workbooks.Open FileName:="エクセル.xls" oApp.DisplayAlerts = False oApp.Sheets("シート名1").Delete oApp.DisplayAlerts = True この場合において、"シート名1"が存在していれば問題なく処理されますが、 このシートが存在していなければエラーが起きます。 指定したExcelブックにこのシートが存在するかどうかのチェックを事前に行い、 存在する場合のみ削除処理を行うにはどうすればよいでしょうか? よろしくお願いします。 環境は、Access2007です。

  • EXCEL2002で、ブック内のワークシートを他のブックに(VBA含む丸ごと)コピーして移す方法

     EXCEL2002で、ブック内のワークシートを他のブックに(VBA含む丸ごと)コピーして移す方法  普通のやり方では、セルの数字、値だけで、通常は、中身の重要な"関数式"であったり、VBA等のプログラムまで、コピーされることは、ありませんので、そこまで、出来る方法を教えて下さい。

  • 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等ご教授宜しくお願いいたします。

専門家に質問してみよう