- ベストアンサー
エクセルVBAにてワークシートの挿入
エクセルで作った『ひな型』のシートを同じワークブック内に、 1号,2号,3号・・・と挿入したいのですが VBAの初心者につきさっぱりわからないので 誰かアドバイスください。
- Mont-Vento
- お礼率31% (9/29)
- オフィス系ソフト
- 回答数6
- ありがとう数2
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#1です。 >初心者なのですみません。 全てこの言葉で逃げられても困るのですが・・・。 >既存のシートが「雛型」「1号」の場合 私の提示した条件にあってますか? とりあえず、シートを雛型のみにして、それをコピーしてシートの最後にもっていき、シート名を「1号」としておきます。 それから実行して下さい。
その他の回答 (5)
- merlionXX
- ベストアンサー率48% (1930/4007)
50シートをいちどに作れればいいということですか?それでしたら、シート「ひな形」を一番左側に置いてください。 で、 Sub test01() For i = 1 To 50 Sheets("ひな型").Copy After:=Sheets(i) Sheets(i + 1).Name = i & "号" Next End Sub
#1です。 既存のシートが「雛型」「1号」の場合 実行する度にシートが追加されます。 Sub test() Sheets("雛型").Copy After:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = Left(Sheets(Sheets.Count - 1).Name, _ Len(Sheets(Sheets.Count - 1).Name) - 1) + 1 & "号" End Sub
補足
先ほどので実行するとシートの挿入はできますが、 『型が一致しません』というエラーが出ます。 あと、『ひな型(2)』、『ひな型(3)』… という風に挿入されるので 1号、2号… という風になりませんか? *初心者なのですみません。
- hana-hana3
- ベストアンサー率31% (4940/15541)
Sub WsCOPY53() Dim i As Integer For i = 1 To 53 Sheets("ひな形").Copy After:=Sheets(Worksheets.count) ActiveSheet.Name = i & "号" Next End Sub
補足
『実行時エラー`9` インデックスが有効範囲にありません。』 と出てエラーになりますが、どうしたらよいのでしょうか?
- toshi_ho
- ベストアンサー率42% (71/168)
以下でどうでしょう。(これをシートの数だけ繰り返せばOK) Sheets("ひな型").Copy Before:=Sheets(1) Sheets(1).Name="1号" Sheets("ひな型").Copy Before:=Sheets(1) Sheets(1).Name="2号" 以下同様
補足
週1回に1枚追加で1年分を作ろうと思っているので、 約50枚になってしまうので、『変数』を使ってできないかな と思っておりますが、いいアイディアないですか?
この質問ではサッパリわかりません。 どのタイミングでどれだけの枚数とか、詳しく説明して下さい。 VBAが使えないのであれば、雛型のシートをコピーして使えばよろしいのでは?
補足
週1回につき1枚追加したいのですが、(1年分で約50枚ぐらいかな) 良い方法はないですか? (コピーしてシート名を変えるのが面倒なので・・・)
関連するQ&A
- エクセルのワークシートの挿入について
エクセル2000を使っています。 15枚くらいのシートで構成されているエクセルBookですが、 メニューバー「挿入」-「ワークシート」とやっても新しいワークシートが挿入できません。 しかし、既存のシートのタグで右クリックして「挿入」-「ワークシート」と選択すると新しいワークシートが挿入できます。 同じ事だと思うのですが、何故違いが出てくるのでしょうか? また、1BOOK内に作成できるシートの最大数は何シート迄でしょうか?
- 締切済み
- オフィス系ソフト
- Excel VBAで、ある名前のワークシートが存在するかを調べるには?
VBA初心者です。 例えば、開いているブックの中に「Sheet4」が存在するかどうかを調べ、無い場合にだけ「Sheet4」を挿入するには、どのように記述すればよいのでしょうか? よろしくお願いします。
- ベストアンサー
- Visual Basic
- エクセルのシートの挿入
こんにちは。エクセルに新しいシートを2枚挿入したいのですが、普通に挿入すると、自動的に最後のシートの左側に挿入されてしまいますよね?私は最後のシートの右側に付け足す形で挿入したいのです。どうすればいいのですか?私は超が付く初心者なので、簡単な言葉で説明していただけると嬉しいです。よろしくお願いします!
- ベストアンサー
- オフィス系ソフト
- Excelでワークシートが挿入できない!
Excelで新しくワークシートを挿入しようとしてメニュバー→挿入からワークシートを選択しようとしたらワークシートの文字が灰色になっていて選択できません。操作できないように他の人がシートにロックかなにかをかけているのでしょうか?ご教授願います。
- ベストアンサー
- オフィス系ソフト
- Excel VBAでシートのコピーをできなくするには
Excel VBAで シートのコピー及びシートの新規挿入を出来なくする事はできるでしょうか? どなたかご教示お願いいたします。
- 締切済み
- オフィス系ソフト
- VBA シート操作
エクセル2002使ってます。 VBAにて雛型のシートを27枚コピーし、集計用のシートに入力されている名簿の名前の通りにシート名を変更したいと思い、式を組みました。 しかし、雛型のコピーまではできましたが、シート名を上手く変更できません。 シート名を変更したいシートは雛型(2)~雛型(28)の名前で、ブックの一番左から並んでます。 これをシート名変更するにはどうすればいいでしょうか?
- ベストアンサー
- Visual Basic
- マクロ?VBA?で新しいシートを増やす
こんにちは、 Excelで新しいシートを挿入するマクロを作成したいのです。 「新しいマクロの記録」からすると、選択した前にシートが挿入されますが、選択した後に挿入したいのです。 その動作をショートカットキーの「Ctrl」+「n」で動くようにしたいのですが可能でしょうか? VBAは初心者です。よろしくお願いします。
- 締切済み
- その他MS Office製品
- VBAでシート挿入を禁止したい。
エクセル2007で、ファイルを閉じるとその状態が全部保存されるように下記VBAを使ったファイルを作りました。 Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.Save End Sub ファイルのシート数は全部で6枚です。ファイルを開くとsheet5だけが表示します。マクロを有効にするとそのシートを非表示にしてsheet1からsheet4が表示するようにしてあります。 リボンは非表示にして操作できないようにしてあります。この状態でもファイルを開いている間に誰かがシート挿入タブ等でシートを挿入して閉じてしまうとその分も保存されてしまい、シートがどんどん増えてしまいます。ブックの保護をするとシート表示切り替えがうまくいかないみたいです。シート挿入タブを非表示にする方法はありますか。なければVBAでシート挿入禁止はどのように書くのでしょうか。
- ベストアンサー
- Visual Basic
- エクセルでワークシートの挿入
エクセル作業中に『ワークシートの挿入(shift+F12)』 なるものが、タブにできてしまいました。これを削除するにはどうすればよいでしょうか。教えてください。
- ベストアンサー
- オフィス系ソフト
- excel vba シートがなければコピーしたい
excel vba で教えてください sheet名0を雛形に、使用者が1 2 3のsheet名でコピーして利用できるようにしたい。1はあるのでコピーを作らない。2はないのでsheet名0をコピーして作るといったように現在sheet2があるや否やで作成するや否やを判断してsheet copyをしたい。 すべてのsheet を名前をしらべつつ判断したいのです 教えてください
- ベストアンサー
- Visual Basic
お礼
ありがとうございました。 思ったとおりにできました。