人事では評価の収集など、各管理職の方に社員のリストを送付することがしばしばあります。
その際、各組織ごとのファイルをフォルダに格納し、入力してもらっています。
この「各組織ごとのファイルを作成するツール」が今回ご紹介するツールとなります。
動画でも利用方法の解説をしております~^^
「ファイル分割ツール」とは
リスト内のグループごとに、ファイルを分割したいという場合に利用するツールです。

作成されたファイルが格納されているフォルダが以下となります。

接頭文字_というファイル名になっている理由は後述します。ここでは、正しくグループごとに分割されていることを確認できました。
ダウンロードリンク
以下のファイルをダウンロードしてご利用ください。
ファイル分割ツールの使い方
1.分割したいファイルを用意する
いきなりツールを使うのではありません。なによりも分割するファイルを用意するのが最初です。
ここでは、SMAP、嵐、TOKIOのメンバーのエクセルファイルを準備しました。罫線は分かりやすくするように引いているだけで、処理には何も関係ありません。

なお、ファイルには、マスタシートという、ほかのシートを参照させていますが、分割する上で、ほかのシートを参照させていても問題ありません。
このシートでは、メンバーカラーをマスタシートからVlookupで取得しているのと、出身地もマスタシートから「入力規則」でプルダウンにしています。


1.A列に「ファイル名」列を追加する
A列に「ファイル名」というヘッダーの列を追加します。実はこれが非常に重要です。追加しないとエラーとなってしまいますのでご注意ください。

2.A列にグループ名(分割した後のファイル名)を入力する
ファイル名は数式(= C4)で入力しても構いません。すべての行について、ファイル名を埋めるようにしてください。

3.A列を含めてフィルターを設定する
上記画像を見ていただくと、後からA列を追加したため、フィルターが設定されていません。A列も含めてフィルターを設定しなおしてください。

これで準備完了です。保存してファイルを閉じておきましょう。
2.Settingシートの「元データファイルパス」を入力する
1.で用意したファイルのファイルパスを入力しましょう。

3.Settingシートの「ファイル付加文字」を入力する
基本的にファイル名は1.でA列に設定したファイル名に変更されますが、ファイル名の先頭に共通の文字を設定したい場合にこちらのセルに文字を入力します。

この例では、「接頭文字_」という文字をファイル名に付加しています。

4.Settingシートの「分割対象シート名」を入力する
1.で用意したファイルの対象のシート名を入力します。


5.Settingシートの「分割後のシート名」を入力する
この例では、「リスト」というシート名のシートを分割していますが、分割後にシート名を「リスト」から変更したい場合に、こちらのセルに文字を入力します。
特になければブランクで結構です。
6.Settingシートの「保存先フォルダ」を入力する
保存先のフォルダパスを入力します。この時、フォルダパスの一番右の文字は「¥」でなくても大丈夫です。(プログラムの中で補正します)
保存先フォルダパスに誤りがあれば以下のメッセージが表示されます。(Ver1.2より)
7.「ファイル分割 実行」ボタンをクリックする
6.までで設定完了です。
あとは、「ファイル分割 実行」ボタンをクリックしましょう。
8.「Result」シートを確認する
完了すると、以下のメッセージが表示されます。

Resultシートに遷移し、結果を確認してみましょう。

C列に分割したファイル名、D列はファイルパス、E列には作成時間が入力されます。
最後の最後は実際に分割されたファイルを起動してみてくださいね。
オプションについて
本ツールには3つのオプションがあります。ファイル分割 実行ボタンをクリックすると、表示される以下のメッセージのことです。

ここでは、3つのオプションの解説をします。
1.シート内のデータを値貼り付けする
一つ目のオプションは、値貼り付けです。

このオプションで「はい」をクリックすると、分割するシートに含まれる数式をすべて値貼り付けした後に分割します。
どういうときに使うかというと、元のシート内に、ほかのブックからVlookupで参照しまくっている場合などがよく使うケースです。
他のブックを参照させるとき、仮に作成者のローカルにデータがあると、ほかの方が分割したファイルを開いたときに、そのデータを参照できなくなってしまい、余計なダイアログが表示されてしまいます。
このリスクを避けたいのであれば、このオプションを「はい」にしてください。
2.シート内のデータを値貼り付けする
二つ目のオプションは、共有設定です。

分割したファイルは誰かに参照させたいケースがほとんどです。
そのとき、複数人が利用する可能性がある場合、このオプションを「はい」にします。
ただ、昔と違って、「共有設定」はMicrosoft の推奨する機能ではなくなってしまいましたので、ファイルが極端に動きが悪くなる(想定しない動きをする)ということもあるかもしれませんので、作ったものの、このオプションを使うことはあまりおすすめしません。
3.マクロ入りブックにする
最後のオプションは、マクロ入りブックに設定するオプションです。

どういうときに使うのかというと、ブック内でマクロを仕込んでいる場合です。(そのまんま…)
私がよく使うケースは、ユーザ定義関数などを作って使っているファイルはこのオプションを確実に「はい」にします。
なんといってもユーザ定義関数を利用するために、入れた機能ですから。。
よくあるエラー
分割するファイル・シートのファイル名列を追加した後に、フィルターの設定を忘れて発生する不具合が多発しています。分割するシートのヘッダーの「ファイル名」列を含んでフィルターが設定されていることを確認してください。
さいごに
人事から各職場へ情報提供する場合に、一つのリストを分割して共有するという状況が結構あります。
例えば、年一回、評価をフィードバックするときに、このツールを使って職場用のExcelファイルを作成するというような具合です。
手順が多いですが、慣れてしまえば色々な場面で使えるツールです。ぜひ使ってみてください。
更新履歴
バージョン | 更新日 | 内容 |
---|---|---|
1.0 | 2021/02/12 | 初版リリース |
1.1 | 2021/02/13 | ・エラーチェックの追加 ・参考先リンクの追加 |
1.2 | 2022/02/27 | 分割ファイルの保存先フォルダパスに誤りがあった際のエラーメッセージの表示文字列を変更 |
ファイル分割の必要があって使用させて頂きました。200件では正常に分割できましたのですが、大量のデータを分割する必要があり、サンプル数12万件で、1850のファイルに分割しようとしたところ、途中で止まってしまいました。
数時間(一晩)かけても終了せず、強制終了したところ、1123件までで止まっていました。マクロのデバックで、黄色くエラー表示されている箇所がありましたが、記録していなかったのでどの箇所か不明ですが、データ量が多すぎて止まってしまったのでしょうか。
大量のデータを分割する必要があり、何か原因と対策あればご教示いただけましたら幸いです。
コメントありがとうございます!
データ量が多くとも、分割自体はうまくいくと思います。
プログラム上、ファイル分割数に制限をかけているわけではありません。
そこで対策ですが、1850ファイル、、がなかなか膨大だと思いますので、1/2にして実行してみてはいかがでしょうか?
行数を約6万件、ファイル数を900強にしてみるということです。
実績として、大体500件~600件のファイル数であれば分割できましたので、1/2でもうまくいくのでは?!と考えています。
それでも失敗する場合、少し調査させていただければと思います。(環境にもよるのかなと思います・・・)
取り急ぎご連絡まで。
大量のCSVデータを部署単位に変換するツールを探していました。
ドンピシャでした! ありがとうございます。
ファイルが見つからないエラーが出てしまいます。エクスプロラ内の対象ファイルをSHIFT+マウス右クリックで現れるパスのコピーで取得したパスを貼っているのですが、ファイルが見つからない、となってしまいます。
デバッグを押下すると『Set wb = Workbooks.Open(bookName)』がイエローハイライトしています。解決策があれば、ご教示いただきたく。
こんにちは。
実際の画面を見せていただきたいので、別途メール差し上げます。
スクリーンショットを送付ください。
素晴らしいツールだと考え、使用しようとしたが、「URLの入力が間違っています」というエラーになってしまいます。対応策をお教え頂けないでしょうか。
お問い合わせありがとうございます!
URLを具体的に教えていただけますか?
「URLの入力が間違っています」とありますが、URLの入力を行っておりません。何を示しているのか全く分からない状況です。申し訳ありません。
こんにちは。今プログラムを確認したところ、ファイルを分割した後にファイルを格納するフォルダのパスに誤りがある場合、URLの入力が間違っています。というメッセージを表示しています。
格納先のパスをご確認ください。
メッセージが大変不親切であると理解しましたので、今週末に改修し、新バージョンをリリースします!
パソコンを変えて実行したところ問題なく、分割ができました。ご支援に深く感謝致します。
貴重なソフトのご提供をありがとうございます。
「実行時エラー」として「アクセスできません。読み取り専用または暗号化されています」と出てしまい、分割が完了しません。
読み取り専用ではなく、暗号化している認識もないのですが、何か解決策はありますでしょうか・・?
事象の切り分けをさせていただきたいのですが、分割は1ファイルもできていない状況でしょうか??
はい、1つも分割ファイルが作られない状況です。
最後のクリックが終わった後に、「実行時エラー」として「アクセスできません。読み取り専用または暗号化されています」と出てしまいます。。
メールにてご連絡差し上げますので、少し詳細を教えてください。よろしくお願いします。
色々とトライしてみたら、無事に分割できました!ありがとうございました!
よかったです!ご利用いただきありがとうございます!
やりたかったことが叶えられました。
便利なツールのご提供有難うございます。
1点伺いたいのですが、
A列のファイル名が数値の場合、分割が上手くできませんでした。
仕様上、文字列を指定してあげる必要があるのでしょうか。
こんにちは、keiです。
数値でもうまくいくと思いますが。。別メールにてお伺いさせてください。
ありがとうございます。
実行時エラー9
インデックスが有効範囲にありません
というエラーが出るのですが、なにか対策ありますでしょうか。
分割予定のシートに問題があるかと思います。今一度ワークシートをご確認ください。
解決しない場合は、別途メール差し上げますので、分割予定のファイルを送付ください。確認させていただきます。
大変すばらしいツールを作成・公開頂きまして感謝いたします。
企業名、メアド、住所が一覧化されたリストと都道府県ごとに分割したいと思っております。
「ファイル分割 実行」をクリックしますと、以下のエラーが表示されるのですが、もし、対策がお分かりでしたらお教えいただけないでしょうか。
Expecting object to be local
お手数をおかけしまが何卒宜しくお願い致します。
メール差し上げますので、調査用のファイルを送付ください。
[…] さて、すでに翻訳のページを用意しているファイル分割ツールを例に出して、翻訳の仕方をご紹介します。 […]
macを使用しています.保存先フォルダのパスをコピーして貼り付けても,下記のような表示が出てきます.原因がわかりません.(使用しているパスはこちらです.「/Users/yasuokaryuuta/Desktop/detaR」)
分割したファイルの格納先のフォルダパスに誤りがあります。
セル「C8」のフォルダパスを確認してください。
申し訳ありません。本ツールはWindowsでの動作確認しかできておりませんので、Windowsの環境で分割するなどの対応をお願いいたします。。。