Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12144 / 13645 ツリー ←次へ | 前へ→

【12090】あるSheetを600回自動コピーしたい 入門者 04/3/23(火) 18:53 質問
【12094】Re:あるSheetを600回自動コピーしたい よろずや 04/3/23(火) 21:01 回答
【12097】Re:あるSheetを600回自動コピーしたい 入門者 04/3/23(火) 21:23 お礼
【12100】Re:あるSheetを600回自動コピーしたい よろずや 04/3/23(火) 23:35 回答
【12102】Re:あるSheetを600回自動コピーしたい とまと 04/3/23(火) 23:57 質問
【12106】Re:あるSheetを600回自動コピーしたい カド 04/3/24(水) 6:14 発言
【12112】Re:あるSheetを600回自動コピーしたい 入門者 04/3/24(水) 9:29 お礼
【12118】Re:あるSheetを600回自動コピーしたい IROC 04/3/24(水) 13:48 回答
【12121】Re:あるSheetを600回自動コピーしたい 入門者 04/3/24(水) 14:24 お礼
【12126】Re:あるSheetを600回自動コピーしたい 小狐寅蔵 04/3/24(水) 15:49 発言

【12090】あるSheetを600回自動コピーしたい
質問  入門者  - 04/3/23(火) 18:53 -

引用なし
パスワード
   既に書式の記入されたSheetを、600Sheet自動コピーする必要に迫られています。
そのようなときどのようにVBA記述をすればよいでしょうか?
どなたかご教示ください。

追記:EXCELの作成可能なSheet数に上限はあるのでしょうか。
その辺りからして知りませんのでご教示ください。

【12094】Re:あるSheetを600回自動コピーしたい
回答  よろずや  - 04/3/23(火) 21:01 -

引用なし
パスワード
   ▼入門者 さん:
>既に書式の記入されたSheetを、600Sheet自動コピーする必要に迫られています。
>そのようなときどのようにVBA記述をすればよいでしょうか?
>どなたかご教示ください。

絶対に止めときなさい。
上司(or顧客)に出来ませんと言いましょう。

>追記:EXCELの作成可能なSheet数に上限はあるのでしょうか。
Sheet数の上限はありませんが、代わりにメモリに依存と書いてあります。
このメモリに依存という表現は誤解を生み易く、トラブルの元になってます。
いくらメモリモジュールを買ってきても無駄です。
1枚のSheetにデータや計算式などがどのくらい書き込まれているか、
(どのくらいメモリを食っているか)によって最大Sheet数が変わるという意味です。

ですから、空のSheetなら600枚くらい問題なく可能です。
(バージョンと方法によりますけど)
でも、中身のあるSheetなら、無理だと思ってください。

【12097】Re:あるSheetを600回自動コピーしたい
お礼  入門者  - 04/3/23(火) 21:23 -

引用なし
パスワード
   ▼よろずや さん:
ありがとうございます。ご心配なく。書式はあってもデータは空です。

>ですから、空のSheetなら600枚くらい問題なく可能です。
空のSheetを600枚くらいコピーするVBAを御教えくださいませんでしょうか。
バージョンはEXCEL 97です。よろしくお願いいたします。

【12100】Re:あるSheetを600回自動コピーしたい
回答  よろずや  - 04/3/23(火) 23:35 -

引用なし
パスワード
   >>ですから、空のSheetなら600枚くらい問題なく可能です。
>空のSheetを600枚くらいコピーするVBAを御教えくださいませんでしょうか。
>バージョンはEXCEL 97です。よろしくお願いいたします。
書式だってメモリを食いますよ。
それに、空のSheetのままでおく訳じゃなくて、
コピーした後でデータを入れるんでしょ。
うーん、Excel97ですか。
たぶん、Excel97でも動くと思う。
Sub test()
Dim i As Integer
For i = 1 To 600
  Worksheets("Sheet1").Copy after:=Worksheets(Worksheets.Count)
Next
End Sub

【12102】Re:あるSheetを600回自動コピーしたい
質問  とまと  - 04/3/23(火) 23:57 -

引用なし
パスワード
   こんばんは。
なんだか解決してしまいそうですね。

>書式の記入されたSheetを、600Sheet自動コピーする必要に迫られています

見積書とかですか?
場合によっては他の代案がだせるかも。。
ごめんなさい。ほんとうは野次馬でなにを
されているか聞いてみたいのですが、
差し支えなければ教えてください。

【12106】Re:あるSheetを600回自動コピーしたい
発言  カド E-MAIL  - 04/3/24(水) 6:14 -

引用なし
パスワード
   皆さん こんにちは。

私も興味あります。600回コピーして何をするんです。
最終的にデータ入れないなら600回コピーする必要は無いですよね。

是非教えてください。

【12112】Re:あるSheetを600回自動コピーしたい
お礼  入門者  - 04/3/24(水) 9:29 -

引用なし
パスワード
   皆さん ありがとうございます。

>私も興味あります。600回コピーして何をするんです。

以下のvbaで一覧にあるデータを、営業所ごとのシートにわけるのです。
その営業所が全国で600あるのです。
例は川崎、港北のみですが、
このあとに続けて598シート作成するロジックを追加する予定です。
(なお関連する投稿をしています。混乱を避けるため別名で。)

Sub AAA()
Dim I, A, B
A = 2
B = 2
With Sheets("一覧")
For I = 2 To .Range("A65535").End(xlUp).Row
Select Case .Cells(I, 10).Value
Case "川崎営"
Sheets("a").Cells(A, 1).Value = Cells(I, 9).Value
Sheets("a").Cells(A, 2).Value = Cells(I, 10).Value
A = A + 1
Case "港北営"
Sheets("b").Cells(B, 1).Value = Cells(I, 9).Value
Sheets("b").Cells(B, 2).Value = Cells(I, 10).Value
B = B + 1
End Select
Next
End With
End Sub

【12118】Re:あるSheetを600回自動コピーしたい
回答  IROC  - 04/3/24(水) 13:48 -

引用なし
パスワード
   >(なお関連する投稿をしています。混乱を避けるため別名で。)
これは無用だと思いますよ。
関連する内容の質問であれば、HNを使い分けるより
同じ名前で、なおかつ関連する質問のURLを貼っておくくらいの方が、
良いかと思います。


もしシート数が多すぎて不安定になるようなときは
データをTEXTファイルやCVSにしておいて、
EXCELのシートにマクロで読込むとか、
ブックを地域ごとに分けて、1ブックあたりの
シート数を減らしたほうがよいかもしれません。

【12121】Re:あるSheetを600回自動コピーしたい
お礼  入門者  - 04/3/24(水) 14:24 -

引用なし
パスワード
   ▼IROC さん:
>これは無用だと思いますよ。
了解いたしました。

>もしシート数が多すぎて不安定になるようなときは
特に不安定ではないのでこのまま進めてみようと思います。
ありがとうございました。

【12126】Re:あるSheetを600回自動コピーしたい
発言  小狐寅蔵  - 04/3/24(水) 15:49 -

引用なし
パスワード
   私も、以前同じような問題を抱えたことがあります。
結局、Accessのレポート機能を使うことにしました。

直接の答えになっていないかも知れませんが、体験談
でした。

12144 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free