- ベストアンサー
エクセルの新しいブックを300枚作らなければいけない いい方法は‥‥?
マイドキュメントの「データ」のフォルダの中に、「出荷1」「出荷2」「出荷3」‥‥と300枚のブックを新しく作らなければならないのです。 最初は、「データ」のフォルダの中で、右クリック→新規作成→MicrosoftExcelワークシートで1枚作り、それを300ブックコピー。 その後、1枚1枚ブックの名前を「出荷1」「出荷2」と変更していたのですが、気が遠くなりそうです‥‥‥‥日が暮れます。 何かいい方法は無いのでしょうか?
- みんなの回答 (9)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
リネームソフトが大量に出てますよ。 その中のフリーソフトをあげておきますね。
その他の回答 (8)
- nobio
- ベストアンサー率70% (14/20)
「出荷1」のファイルを作る ↓ コマンドプロンプトを起動する ↓ 以下の順番でコマンドを入力する。 ↓ cd "My Documents" ↓ cd データ ↓ for /l %a in (2,1,300) do copy 出荷1.xls 出荷%a.xls 以上です 以下にコマンドの知識がない人のための補足を書きます。 各コマンドの入力後はEnterキーを押す。 日本語のファイル名以外のところは、半角で入力する。(上記では、スペースがわかりやすいように全角で入れてありますが、実際はスペースも半角です。) 半角→日本語の切り替えは、Alt+半角/全角 My Documents のように間にスペースが入るファイル名は"(ダブルコーテーション)で囲う。 以上を踏まえて、上記のコマンドを忠実に入力してください。 各コマンドの意味等、知りたいことがあれば、補足欄にお願いいたします。
お礼
>コマンドプロンプトを起動する この時点でつまづいてしまいました。 ちょっと分からないです。 すいません。
- age_momo
- ベストアンサー率52% (327/622)
質問の内容からすると新規ブックを作って名前だけ出荷1,2であればいいんですね。 マイコンピューターからCドライブ開いて新規フォルダー「複製」を作った上で以下のマクロ、コピペして実行してください。 Sub NewBookPro() Dim i As Integer Dim strBookName As String For i = 1 To 300 strBookName = "出荷" + CStr(i) + ".xls" Workbooks.Add ActiveWorkbook.SaveAs Filename:="C:\複製\" + strBookName Windows(strBookName).Close Next End Sub マクロの実行の仕方、分かりますか?
お礼
マクロの実行の仕方‥‥わかりません(;´▽`A`` わかんない‥‥
- takkuni
- ベストアンサー率24% (166/676)
ご質問の内容では詳しいことが分かりませんが、最初に作ったシートを出荷ファイル用のテンプレートとして登録し、データを入力して保存する時にファイル名を変えてエクセルシートとして保存していけばいいのでは。 用途としてあらかじめ300のブックを作成しておく必要があるなら話は別ですが。もう少し、データの使い回しについての具体的な説明がないと答えにくいような気がします。
お礼
300ブック作らなければならなかったので‥‥ 説明の趣旨も不足していましたね。 すいません。
- imogasi
- ベストアンサー率27% (4737/17069)
本件仕事に関することなのでしょうが、内容も判らないものですが、敢えて申し上げます。 300個のブックをハンドリングするなんて、どこか設計に、普通なら(SEなら)やらない(発想やロジックの)ことを考えていると思います。そちらの反省や、同僚に(身近におられればSEに)ご相談をお勧めします。 アクセスなどでの処理などをすべきケースではと思います。 同一シート-別シート-別ブックに連れて、処理が難しく なり、左のケースでは出来ても、右の場合出来ないケースが増えます。エクセルは1シート内が基本です。 メモリや処理時間で泣くかもしれません。 VBAの熟練者でもなければ、行く先困難が待ちうけているように想像します。
お礼
えっと‥‥ エクセルでやりたいので‥‥すいません。
- laputart
- ベストアンサー率34% (288/843)
マクロVBAで作成する例を書きます。これはあくまでも 現在のブックをコピーするだけです。 Sub Macro1() 'エラー処理 On Error GoTo errt Workbooks.Add ct = 1 Do Until ct > 300 ' Filenameにファイル名を作成 Pathname = "出荷" & CStr(ct) & ".xls" ' DirNameにはマイドキュメントにあるデータフォルダーへのパスを書きます。 ' .... にはご自分のMydocumentへのパスを書きます。 ' C ドライブにある場合です。 PathName="C:\Documents and Settings....\MyDocuments\データ\" ActiveWorkbook.SaveAs Filename:= PathName & Filename ct = ct + 1 Loop '正常に終了するとメッセージが出ます MsgBox ("ファイルが作成できました。") exit sub 'エラー発生の場合 errt: MsgBox ("エラーが発生しました。") End Sub
お礼
色々な方法があるのですね。 勉強になります。 ありがとうございました。
- ta123
- ベストアンサー率51% (95/186)
VBAで行うのはどうでしょうか。 Sub cre_出荷() For i = 1 To 300 ActiveWorkbook.SaveAs Filename:= _ "C:\Documents and Settings\[ユーザ名]\My Documents\出荷" & i & ".xls" Next End Sub ※[ユーザ名]は書き換えてください。
お礼
う~ん。難しそう‥‥ 頑張ってVBAでも出来るよう試してみます。 ありがとうございました
- neKo_deux
- ベストアンサー率44% (5541/12319)
batファイルを使う方法では? 1) 出荷1.xlsを用意。 2) [スタート]-[プログラム]-[アクセサリ]-[メモ帳]を起動。 3) Excelで以下の文字列を作って、メモ帳に貼り付け。 copy 出荷1.xls 出荷2.xls copy 出荷1.xls 出荷3.xls copy 出荷1.xls 出荷4.xls ・ ・ copy 出荷1.xls 出荷300.xls 4) メモ帳の[ファイル]-[名前を付けて保存]で出荷1.xlsと同じ場所に、 "make300.bat" と、ダブルクォート付きの名前で保存。 5) 四角に黄色い歯車のアイコンになるのを確認してダブルクリック。
お礼
メモ帳でも出来るんですね。 知らなかったです。 ありがとうございました
- oniitomakiei
- ベストアンサー率21% (41/192)
こんにちは。 マイドキュの中にすでにエクセルのシートはあるわけですよね。 だったら、コントロールを押しながら今あるシートをクリックして反転させ、右クリックでコピーの貼り付けをすると倍倍になりますのでシートを作成するのは今のやり方より手間省けますよ(^^) 名前は一つづつ変えないと・・・ですが。 そのまま延々コピーしていくと コピー(2)とかコピーコピーとなりますが・・・。 とマイドキュメントの中にエクセルのシート以外入ってない(今作成してるもの)のであればシフトを押しながらでできますが、他の例えばマイピクチャーとか入ってるようであればコントロールを押しながらがいいかと思います。
お礼
ありがとうございました。
お礼
こんなソフトがあったとは!!!! 見事に出来ちゃったー!\(^▽^\)(/^▽^)/ ありがとうございました