• ベストアンサー

エクセルでシートを挿入の際

misatoannaの回答

回答No.3

> シートの名前を変更・削除してまた挿入しても番号は増え続けていきます > シート名を指定して新規シートを追加 私からも稚拙なマクロ(テンプレートにして使っています)の例です。 シート名は指定できませんが、「"Sheetxx"形式で、重複しない最も小さい番号の シート名」で最後尾に追加します。 [Alt]を押しながら[F11]を押すと Visual Basic Editor が開きます。左端に表示 されている ThisWorkbook をダブルクリックして、右側の画面に下記をコピペして から、Visual Basic Editor を閉じます。 ' Private Sub Workbook_NewSheet(ByVal Sh As Object) Dim i, j ActiveSheet.Move After:=Sheets(Sheets.Count) i = 1 LP: For j = 1 To Sheets.Count - 1 If "Sheet" & i = Sheets(j).Name Then i = i + 1 GoTo LP End If Next j ActiveSheet.Name = "Sheet" & i End Sub ' シートを挿入すると自動的に処理されます。

関連するQ&A

  • シート名変更のマクロ

    QNo.4400605『エクセルでシート数を指定して挿入するマクロはどうやって作ったらいいでしょうか。例えばA1セルに挿入したいシートの数を入力するとその数のシートが作成されるというようなマクロを作りたいのですが』という質問をしてそれについては解決しましたが、作成されたシートの名前を1~40のような数字に変更するマクロが分かりません。作成するシートの枚数は決まってなく、25シートであったり、40シートだったりします。A1:A40に1~40と変更後のシート名を入力して、それをシート名に反映させるマクロは作れたのですが、毎回シート枚数が変わるので「インデックスが有効範囲にありません」と出てしまいます。型としては、元シートがあり、そこでシート数を指定しシートを挿入し、そのできたシートに数字の名前をつけたいと考えています。長々なりましたが教えて下さい。

  • ExcelのSheetに作られたMacro1について

    EXCELのシート画面で、Alt+F11を押して、Workbookのイベントによって起動するマクロを記述するモジュールシートを開き、マクロを貼り付けました。 確かに、エクセルを開くと同時にマクロが起動します。便利でびっくりしています。 ところで、これと同時に、Macro1という名のシートが自動的に作成されました。これがわかりません。無視してもかまわないでしょうか。うっかり普通のシートのSheet1などと勘違いして書き込みをしたり、名前を変えたり、削除したりしそうです。もしそうしたらどうなりますか。不都合がありますか。 よろしくお願いします。

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

    エクセルでシート数を指定して挿入するマクロはどうやって作ったらいいでしょうか。 例えばA1セルに挿入したいシートの数を入力するとその数のシートが作成されるというようなマクロを作りたいのですが・・・

  • excel97で、一番右側に新しいシートを挿入させたい

    excel97で、「挿入」→「ワークシート」を選択すると、アクティブになっているsheetの前(シート見出し左側)に新しいシートが挿入されますが、大抵新しいsheetを挿入したいのは、一番後ろ(画面向かって一番右側)なので、そのあと移動させたりしなければならず面倒です。マクロ以外で一発で「一番後ろ(右側)に新しいワークシートを出す」ことは出来ないでしょうか? 宜しくお願い致します。

  • 指定したシート間にシートを挿入

    シートを挿入するマクロを作っていますが、挿入する場所を指定することはできるでしょうか? 「最終シートの前に挿入」と「最終シートの後に挿入」はできるのですが、「"START"と"END"の間に挿入」ということがどうやればいいのか分かりません。教えて下さい。

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

    どなたか教えてください。 エクセルでワークシートを増やしたくて、「挿入」から「ワークシート」をクリックすると、 「'ワークシート.xls'が見つかりません。ファイル名およびファイルの保存場所が正しいかどうか確認してください。[ファイル]メニューの最近使用したファイル一覧からファイルを開こうとしている場合は、そのファイルの名前が変更されていないこと、移動又は削除されていないことを確認してください」 というエラーメッセージが出てしまいます。何が起こってしまったのか良くわからないのですが、治りますか・・・? Windows2000を使用しています。PCはコンパックのものです。 宜しくお願いします。

  • excel、マクロについて教えてください。

    excel、マクロについて教えてください。 excelのマクロでシートを追加してシート名を変更し棚卸しに変更する内容を記録したのですが、 excelをずっと使用していてシートを追加していくとsheet1、sheet2と語尾の数字が増えていってしまい、マクロが正常に動作しません。 excelのシートを追加した際に必ずsheet1で追加する方法、若しくはマクロを記録した時はsheet1の名前を変更だったがsheet2でもsheet3でも動作するようなコードは存在しますか? 最近マクロをやり始めた初心者なので、質問が下手かもしれませんがどなたかお分かりになりましたら 教えていただけませんか?よろしくお願いします。

  • エクセルでシートを追加するマクロについて

    マクロ初心者ですよろしくお願いします エクセルでシート1は名前などの入力用、シート2はフォーム用として作成しております シート1のA1から最大でA20(変動あり)に名前を入力すると名前の数だけシート2のコピーが追加され、シート名も入力した名前に変更する場合のマクロはどうすれば良いのでしょうか? またシート2のB1にも入力した名前を表示させたいです ご教授お願いいたします

  • EXCELで切り取った行を別シートに挿入

    EXCELである行を選択して切り取り、同一シート内の任意の場所に挿入すると 元の行は自動的に削除されます。 しかし、別シートに挿入した時は、元の行は削除されず、わざわざ その行を削除する、という操作が必要となります。 そこで質問なのですが、別シートへの挿入を一つの操作で行う方法はないでしょうか? また、その方法がない場合、それはEXCELの何らかの仕様を反映しているのだと 思いますが、それはどのようなものでしょうか? よろしくお願いします。

  • Excelのマクロでシートを追加する際のエラー対策

    久しぶりにExcelのマクロについて 質問させていただきます。 Sub シート追加() Dim シート名 As String, シート確認 As Worksheet シート名 = InputBox("シート名を入力してください") For Each シート確認 In Worksheets If シート確認.Name = シート名 Then MsgBox "同じ名前のシートがあります", vbCritical Call シート追加 End If Next ActiveSheet.Copy before:=ActiveSheet ActiveSheet.Name = シート名 End Sub 作ったマクロをごくシンプルにして 記載させていただきました。 これにより、シート名を付けて 次々とシートを追加しているのです。 問題は、すでに同じ名前のシートがあった場合です。 うっかり同じ名前を入力しても 「同じ名前のシートがあります」と表示され 「OK」を押すと改めて 「シート名を入力してください」 と表示されるようにしました。 しかし、なぜかこの場合 新たに入力したシート名でシートが作られるだけでなく そのシート名に「(2)」が付いたシートまで作られ 実行時エラー '1004': シートの名前をほかのシート、Visual Basic で参照されるオブジェクト ライブラリまたは ワークシートと同じ名前に変更することはできません。 というエラーが表示されてしまうのです。 Excel2010でもExcel2003でも同じでした。 ステップインでたどってみたのですが 「同じ名前のシートがあります」 が表示された場合 まだ使っていない名前のシートを作っても 黄色いままで「End Sub」から「End If」へ移ってしまいます。 ちなみに 「同じ名前のシートがあります」にならなければ 「End If」で終了したことになり 黄色は消えます。 詳しい方にはごく簡単なことなのでしょうが いろいろ検索しても答えは得られませんでした。 ご回答をよろしくお願いいたします。