こんにちは!
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの選択範囲以外を削除...
-
Excel 関数を使ってデータと一...
-
Excel Selectは使わない? VBA
-
EXCELのVBAでシートコピーをし...
-
エクセル オートフィルタは行...
-
PDFファイルをコピーしてエクセ...
-
Excelの行をコピーして貼り付け...
-
EXCELで別のブックから式をコピ...
-
エクセルでシートを「移動また...
-
Excel 数式の保護をしたセルを...
-
【VBA】コピー&複数個所のペー...
-
エクセルの1シートの内容を複...
-
【Excel VBA】シートコピー時、...
-
EXCEL VBA シートをコピーする...
-
エクセルマクロで上書きして貼...
-
Excel シートに別のExcelシート...
-
【エクセル】プルダウン設定の...
-
Excel シート複数 金額日計表と...
-
ページの設定を別シートにコピ...
-
VBA 先頭文字の0(ゼロ)...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの選択範囲以外を削除...
-
Excel 関数を使ってデータと一...
-
EXCELのVBAでシートコピーをし...
-
EXCELで別のブックから式をコピ...
-
Excelの行をコピーして貼り付け...
-
Excel 数式の保護をしたセルを...
-
エクセルの1シートの内容を複...
-
【VBA】コピー&複数個所のペー...
-
Excel シートのコピーの際、ペ...
-
ExcelVBAで、ユーザーフォーム...
-
エクセルのワークシートをUSBメ...
-
【エクセル】プルダウン設定の...
-
エクセルでシートを「移動また...
-
【Excel VBA】シートコピー時、...
-
エクセルVBA 1行飛ばしで転記す...
-
ページの設定を別シートにコピ...
-
エクセルのページをシートごと...
-
シートが保護されていないのに...
-
PDFファイルをコピーしてエクセ...
-
VBA シートをコピー後、ボタン...
おすすめ情報