
こんにちは!
VBAにて連番のシートを作成するマクロを組みました
1日→2日→3日・・・→60日
Sub シートコピー()
Dim i As Integer, wst As Worksheet
Set wst = Worksheets("コピー元")
For i = 1 To 60
wst.Copy After:=Worksheets(i + 2)
Worksheets(i + 3).Name = i & "日"
Next
Set wst = Nothing
End Sub
54日まで作ることは出来たのですが、なぜか55日からが作成できません
その後シートを消し、もう一度実行すると、1枚もシートが作れません
この現象は何でしょうか?
また、どうやれば60枚分コピーできるでしょうか?
No.3ベストアンサー
- 回答日時:
エクセルで使用できるメモリ容量によって制限が決まります。
シートのコピーを挿入するのではなくて、新規シート挿入後にコピーするように変えると数百枚はいけるはずです。
http://oshiete1.goo.ne.jp/qa1822561.html
No.4
- 回答日時:
こんにちは。
中身の入ったシートの60枚分のコピーはかなり難しいとしか言いようがありません。また、PCのスペックとシステムのスタックメモリ(仮想メモリ)は、直接的な関係がありません。
あえて行うなら、空のシートを増やしていって、その後で、コピー元をコピーしていけば出来るかもしれません。
#3 のhana-hana3 さんが書いているイメージとは違うかもしれませんが、こんな風にしてみたら、どうかしら?省メモリに徹したつもり...
Sample:
Sub SheetCopy2()
Dim ws As Range
Application.ScreenUpdating = False
Worksheets.Add After:=Worksheets(3), Count:=60
Set ws = Worksheets("コピー元").UsedRange
For i = 1 To 60
Worksheets(i + 3).Name = (i) & "日"
ws.Copy Worksheets(i + 3).Range("A1")
Next i
Set ws = Nothing
Application.ScreenUpdating = True
End Sub
No.2
- 回答日時:
まず、手動でコピーを追加できるか?お試しください。
出来ない場合はエクセルで使用できるメモリの限界なので
ご使用のPCのスペックをあげるしかありません。
エクセルの仕様
http://office.microsoft.com/ja-jp/excel/HP051992 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 別ブックからシートのコピー 3 2022/04/01 20:07
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel 関数を使ってデータと一...
-
Excelの行をコピーして貼り付け...
-
エクセルの選択範囲以外を削除...
-
ExcelVBAで、ユーザーフォーム...
-
EXCELのVBAでシートコピーをし...
-
EXCELで別のブックから式をコピ...
-
CSVファイルについて質問です。
-
EXCEL2007でシートをコピーする...
-
【エクセル】プルダウン設定の...
-
エクセルシートを別のエクセル...
-
ページの設定を別シートにコピ...
-
PDFファイルをコピーしてエクセ...
-
【VBA】コピー&複数個所のペー...
-
Excel:マウスのドラッグ操作で...
-
EXCEL VBA シートをコピーする...
-
エクセルで上書き保存がクリッ...
-
Excel シートのコピーの際、ペ...
-
エクセルのユーザーフォームを...
-
VBA シートをコピー後、ボタン...
-
Excel 数式の保護をしたセルを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの行をコピーして貼り付け...
-
Excel 関数を使ってデータと一...
-
エクセルの選択範囲以外を削除...
-
EXCELのVBAでシートコピーをし...
-
EXCELで別のブックから式をコピ...
-
Excel シートのコピーの際、ペ...
-
エクセルでシートを「移動また...
-
【エクセル】プルダウン設定の...
-
エクセルのシートコピーした際...
-
エクセルシートを別のエクセル...
-
Excel 数式の保護をしたセルを...
-
エクセルの1シートの内容を複...
-
エクセルVBA 1行飛ばしで転記す...
-
CSVファイルについて質問です。
-
PDFファイルをコピーしてエクセ...
-
ページの設定を別シートにコピ...
-
ExcelVBAで、ユーザーフォーム...
-
【VBA】コピー&複数個所のペー...
-
エクセルのページをシートごと...
-
【Excel VBA】シートコピー時、...
おすすめ情報