複数のExcelファイルを入力として、ひな形ファイルに合わせて、全入力分のExcelファイルを作成しなければならないということありませんか。「顧客別のExcelファイルから、返信シートを1人ひとり分作成しなければならない」ということです。顧客別のファイルでなくても、多くの製品に使われている共通の部品やプログラムの変更から全製品やプログラムの試験や動作確認を行うとき、ひな形からテスト仕様書ファイルを全製品分作成しなければならない場合です。対象が100も200もあったらファイルを作成するだけでも大変な作業です。ひな形から作成した内容、顧客名や製品名なども個別に変更する必要もあります。ただでさえ緻密な製品テストなどに労力を使うのに、単純なファイル作成に使うのは勿体ないです。プログラムで自動作成する処理を作成してみました。今回のサンプルプログラムはフォルダから全ファイル名を読み、ひな形ファイルを参照して別ファイル名で出力です。今回のサンプルは、顧客アンケートシートがExcel形式で一人ひとり分あり、そこから一人ひとり分の返信シートを作成するプログラムです。実際には顧客アンケートシートから返信シートを作成するといったことはないかもしれませんが、要は何十件、何百件とあるExcelファイル1つに対して1つずつ別ファイルを作成する場合です。顧客アンケートは[顧客アンケート_名前_日付.xlsx]で、例えば[顧客アンケート_青森太郎_20190501.xlsx]です。それを[ご返信_青森太郎様.xlsx]といったファイル名で、しかも、そのフォーマットが決まっている例です。仕様概要は、以下の通りです。・アンケートシートフォルダに格納されているファイル名をシート2に取得する・ひな形の返信Excelファイルを読み込む・シート2に格納したファイル名を編集して返信ファイル名として書き込む顧客アンケートシートが数百件、数千件ある場合には、そのファイルを作るだけでも大変ですし、ファイル名を間違えたりしてしまうこともあります。そんなとき、顧客アンケートシートから名前だけでも持ってきて、フォーマットを読み込み、ファイル名や内容に変更して自動設定してご返信シートを一気に作成してしまう処理です。ファイル作成を自動で行ってくれれば、ご返信シートの記入に注力できます。そんな時に対応するプログラムです。アンケートファイル、返信用ひな形ファイルを作成しておきます。1).アンケートファイルアンケートシートフォルダ内に格納しておきます。この例では、データは何も入力していません。プログラム先頭でファイルの抽出指定を[xls*]としていますから、xls,xlsx,xlsmなどが抽出されます。拡張子を[xlsx]だけにしたい場合は、ファイルの抽出指定を[xls*]を[xlsx]に変更します。2).返信用のひな形ファイルひな形フォルダ内に格納しておきます。2.Excelを起動1).シート1に以下のデータを貼り付けるドラッグ&コピー後にExcelに貼り付けるとき、[形式を選択して貼り付ける]-[テキスト]で貼り付けます。アンケートシートC:\TEMP01\01.アンケートシートひな形フォルダC:\TEMP01\02.ひな形ひな形ファイル返信.xlsx返信シートC:\TEMP01\03.返信シートプログラムを実行する場合のフォルダ名やファイル名は、実際の環境に合わせて修正します。3.Excel-VBAを起動Altを押した状態でF8キーを押します。4.[マクロ名(M):]に'test'などと入力(''は不要、''内のtestを入力)5.[作成(C)]をクリック私はマクロ名を入力したら、そのままEnterを押します。返信フォルダには、アンケートフォルダ内のファイル名とひな形ファイルから作成された返信ファイルが作成されます。pos_len)1.[顧客アンケート_岩手一太郎_20190501.xls]の1文字目から"_"の文字位置を求めます。pos_stには[8]が入ります。2.[岩手一太郎]の"岩"の位置を求めます。pos_stは[9]になります。3.9文字目から次の"_"の文字位置を求めます。pos_endは[14]が入ります。4.名前[岩手一太郎]の文字数を求めます。pos_lenは14-9=[5]になります。5.9文字目から5文字を抽出します。変数:strNameには[岩手一太郎]が入ります。1、3で検索する文字が無かった場合には、pos_st,pos_endには0(ゼロ)が返ってきます。If」としても良いでしょう。Subの前にMsgbox文などでエラーの情報を表示する処理が必要です。ないと何で終わったか分かりませんので。次に複数文字を検索する場合、例えば3で"_2019"を検索すると、あくまで文字列の開始位置であって、上記では14が返ってきます。If返信フォルダにファイルが存在しない場合に出力します。ある場合は更新しませんので、更新したい場合は削除してから実行します。最後にひな形ファイルを使って作成するファイルが少なければ必要ありませんが、大量な場合には便利です。今回、編集処理は1項目だけでしたが、例えば今日の日付を編集したり、編集する項目が複数あると漏れたり間違えたりします。プログラムで処理すれば間違えることなく処理します。出力ファイルにつける名前は実際にはアンケートシートに入っていると思いますが、今回敢えてファイル名から名前を抽出する処理も入れてみました。文字列にルールがある場合には使えます。ワークシートは入力ファルダから抽出した処理対象ファイルの一覧ですから、チェック表としても活用できます。使うシーンに応じて対応して頂ければと思います。この記事は、Excel-VBAを起動して貼り付ければ動作することを目指しています。理解されていない方は、以下の記事を参照しながら一度やってみてから対応されることをお勧めします。パソコンをお使いの方の多くは、表計算ソフトExcelを利用されていると思います。・Excel-VB...jibun-kaizen.com2021.01.07実行中に発生したエラーの対処法は、上記記事の2.エラーが発生したときの対処法に記載しています。コメントをキャンセルメールアドレスが公開されることはありません。※コメントは日本語で入力してください。コメントデータの処理方法の詳細はこちらをご覧ください。VBAスポンサーリンクプロフィールはじめまして、健史(たけふみ)と申します。このブログにお越し頂き、ありがとうございます。私は若いころから不摂生な生活を送ってきたために、いろいろな病気や慢性痛になりました。(3)人気記事マクロ''を実行できません。自分で改善.メニューホーム記事一覧プロフィールお問い合わせホーム検索トップサイドバ。