人事では評価の収集など、各管理職の方に社員のリストを送付することがしばしばあります。
その際、各組織ごとのファイルをフォルダに格納し、入力してもらっています。
この「各組織ごとのファイルを作成するツール」が今回ご紹介するツールとなります。
動画でも利用方法の解説をしております~^^
「ファイル分割ツール」とは
リスト内のグループごとに、ファイルを分割したいという場合に利用するツールです。
作成されたファイルが格納されているフォルダが以下となります。
接頭文字_というファイル名になっている理由は後述します。ここでは、正しくグループごとに分割されていることを確認できました。
ダウンロードリンク
以下のファイルをダウンロードしてご利用ください。
ファイル分割ツールの使い方
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 |
|
1.3 | 2023/06/16 | ファイル名列の情報がすべて数値の場合に分割できない不具合があり、修正 |
1.4 | 2024/01/07 | 元データファイルパスの行頭と末尾にダブルクォーテーションが含まれているときに処理が停止していたが、プログラム内でダブルクォーテーションを削除することで実行できるように修正 |
ファイル分割の必要があって使用させて頂きました。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の環境で分割するなどの対応をお願いいたします。。。
エクセルのデータ分割に大量の時間を取られていました。
素晴らしいツールをありがとうございます。
ただ、いろいろチャレンジしてみたのですが
ファイルが30個までしか生成されません。
デバックでは毎回「実行時エラー1004」 と表示され
「オートフィルタ解除」の部分が黄色くなっています。
以前別のパソコンでテストしたときには30個以上生成されたので環境的な理由でしょうか?
(ただしこの時も別の理由で途中で中止していまい「成功しました」の表記は確認していません)
お手数をおかけして申し訳ありませんが、教えていただけると大変助かります。
私の環境で再現しないため、別でメール差し上げますので、実際のファイルを送付いただけますでしょうか??
お返事ありがとうございます。
あの後さらに別のパソコンで試してみたところ無事にできました!
お騒がせしてしまい申し訳ありませんでした。
よかったです!パソコンによってそのような事象が発生することに驚きました。
引き続きよろしくお願いします!
ステキなツールをありがとうございます。
100件超のデータ分割に使用させていただこうと
実行したところ、
1004 ファイルにアクセスできませんでした。
となります。
デバッグを押下すると保存ファイルのファイルネームファイルパスで
黄色くなっております。
元データのファイルパスと保存先フォルダは
同じフォルダ名を指定しています。
(モトデータエクセル名の前まで)
ファイル名付加文字は設定しておりません。
Resultシートを見ると、分割名称は表示されていますが、
ファイル作成先は何も表示されておりません。
回避策をご教示いただけますと幸いです。
よろしくお願いいたします。
実際にファイルを見ると早いのですが、取り急ぎ。。当てはまるものがあれば教えてください。
1. onedriveのフォルダを指定していませんか?指定していれば変更ください。
2. 数件分割は成功していますでしょうか?
3. 分割ツールは別のフォルダに格納していますでしょうか?
早々に返信をいただきありがとうございます。
1.OneDriveのフォルダは指定していません。
2.数件分割とは?分割の処理は出来ていて、保存の際に「1004エラー」となっています。(分割されたエクセルファイルガ開いた状態です。)
3.分割ツールも同じフォルダに格納しています。
以上となります。
お手数をおかけしますがよろしくお願いいたします。
言葉足らずでした。一件も分割できない状況なのか、一件はできている状況なのかを教えていただければと思います。全く作成されていないのであれば、そもそも保存先が悪い、またはファイル名に使用できない文字が使われている等の原因が考えられます。
返信ありがとうございます。
1件も分割できない状況です。
指定しているファイル名は全角漢字12文字くらいで、
指定している保存先は、下記デスクトップです。
C:\Users\suzuki.y\Desktop\ファイル分割テスト\
分割予定のファイルを見れば当たりがつけられそうです。
別途メールしますので少々お待ちください。
この度はファイル内容を調べていただきありがとうございました。
おかげさまで、セル内の改行を削除し、
無事にツールを使用することができました。
ありがとうございました。
いつも活用させていただき、ありがとうございます。
非常に助かっております。
通常は問題なく、実行できるのですが今回の作業で下記エラーが発生してしまいます。
実行時エラー 9:インデックスが有効範囲にありません。
デバッグを押下すると『Set wb = Workbooks.Open(bookName)』がイエローハイライトしています。解決策があれば、ご教示いただければ幸いです。
けいです。見た感じ、ファイルが開けないような感じがしますが、フォルダにone driveを使っているなどありませんか?
早速のご返答ありがとうございます。
フォルダにone driveは利用していないです。
けいです。返信遅くなってしまいました。実際のファイルを以下のお問い合わせ窓口より添付してご連絡いただけませんか?調査します。
https://jinjineer.net/contact/
ファイル分割ツールを活用させて頂きました。
非常に便利で業務効率がとても上がりました。
ありがとうございます。
エクセルファイルの元データにシートが2つあり片方のシートを分割すると分割後のエクセルファイル全てに2つ目のシートが残る現象がございました。
2つ目のシートを残さずに分割する方法はございますでしょうか?
ご教授頂けると幸いです。
こんにちは。けいです。
こちらはあえて分割するシート以外は残す仕様にしています。
分割元のシートから別のシートを参照している場合に機能しなくなることを避けるためです。
ですので、そのシートが必要ないのであれば、最初から分割元のファイルから削除してはいかがでしょうか?
ご返信ありがとうございます。
今後は余計なシートは削除してから行うようにします。
ツールの公開ありがとうございます。
2060行のデータを100行ずつ分割するために活用したいのですが、ファイル分割実行後に「すべてのファイルが生成されました」とメッセージが表示されますがデータが作成されません。最後のポップアップでOKを押下すると、閉じていた元データが分割した後のファイル名の列にフィルターがかかった状態で開かれて終わります。格納先の指定が誤っているのでしょうか。
keiです。
本事象を再現できませんでしたので、お問い合わせページから実際のファイルを送付いただけませんか??
ツール使わせていただいております。
ファイル名の下の列が数値のみの場合はうまく動作しないのですが仕様でしょうか?
数値以外でアルファベットや日本語の場合は動作するのですが・・・
こんにちは。keiです。どのような状況でしょうか?数値のみでも上手くいく想定なのですが、具体的に入力値を教えていただけませんか?
お問い合わせページからファイル送付いただければ早く解決するかもしれません。
はじめまして。
とても有用なツールを作成・公開していただき、誠にありがとうございます。とても助けられております!
質問があるのですが、ヘッダーの行を複数設定することは可能でしょうか?
切り分けたファイルに共通して入れたい行が複数ございまして…。(例えば、1行目から3行目までが列見出しで、大項目→中項目→小項目のようにレベルの異なるタイトルが入っている場合です。大項目行は複数の中項目をまとめるために、セルの結合がされている部分がございます。中項目も同様です)
厚かましくも質問してしまい恐縮ですが、何卒よろしくお願いいたします。
こんにちは。keiです。
共通でいれたいのは列ですかね?
であれば、A列のファイル名列に大項目、中項目、小項目を結合したファイル名を入力し分割する方法はいかがでしょうか?
やりたいことのイメージと相違ある場合、問い合わせページから分割元ファイルを送付ください。そちらの方が、適切な回答ができるとおもいます!
[…] “ファイル分割ツール” […]
非常に素晴らしいツールですね!以前使わせていただいて業務が飛躍的に効率化し、大変感謝しております。
1点質問です。
縦横が入れ替わっているデータがあります。
A列に「ファイル名」列を追加するではなく、
1行に「ファイル名」行を追加したいファイルです。
もちろん、一旦このツールを使えるように縦横を入れ替えて貼り付けをしてから
A列に「ファイル名」列を追加すればよいのですが、
そうすると出力ファイルもすべて縦横を直す必要が発生します。
縦横が入れ替わっているままの状態で100以上のファイルに分割したいのですが、効率的に行う方法はありませんでしょうか?
実はそういう要望を受けてデータ横持ちバージョンを作ったことがあります。汎用的なツールになるのであればぜひ私も作りたいなと思うのですが、一度ヒアリングしてプロトタイプをお渡ししましょうか?
メールアドレスが分からないので直接ご連絡できず、興味があればお問い合わせページからメールアドレスご記入の上ご連絡ください。Kei
ツール大変助かりました!
実際に思っていた通り動かす事ができました!
一点お伺いですが、部署毎にファイルを分割後にグラフもそれぞれに分割されたらいいなと思いました。分割前に大量のデータをグラフ化しているのですが、部署毎にフィルターをかけるのがアホほど時間かかります…
もし、分割前のグラフの設定などやり方次第ではできるという事であれば教えていただきたいです!
こんにちは。これはできると思いますよ!
メインで分割するシートの情報でグラフを作っておいて、元データとなる分割シートの方を部署ごとに削除していくことで分割できるかと思います。
kei
[…] こちらのコードはファイル分割ツールで利用されているコードを切り出したものです。 […]
ファイルは生成されたのに中身のレコードが移行されていない状態でした。
※「ファイル名」作成しフィルターもかけています。
対処方法教えていただけますか?
こんにちは。
複数のファイルを作成されている状況でしょうか?
お問い合わせページから実際に利用したファイルを送付いただけませんか?
こんにちは。
分割するファイルに「読み取り専用で開く」設定がされている場合、当該現象が発生することが分かりました。
読み取り専用開く設定となっている場合、解除して分割をお試しいただけませんか?