<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Uncategorized | まなびの書</title>
	<atom:link href="https://manabinotes.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>https://manabinotes.com</link>
	<description></description>
	<lastBuildDate>Tue, 31 Mar 2026 14:03:41 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/>
<atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/>
<atom:link rel="hub" href="https://websubhub.com/hub"/>
<atom:link rel="self" href="https://manabinotes.com/category/uncategorized/feed/"/>
	<item>
		<title>Power Query台帳で最終更新日時を表示する簡単な方法</title>
		<link>https://manabinotes.com/power-query%e5%8f%b0%e5%b8%b3%e3%81%a7%e6%9c%80%e7%b5%82%e6%9b%b4%e6%96%b0%e6%97%a5%e6%99%82%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%99%e3%82%8b%e7%b0%a1%e5%8d%98%e3%81%aa%e6%96%b9%e6%b3%95/</link>
					<comments>https://manabinotes.com/power-query%e5%8f%b0%e5%b8%b3%e3%81%a7%e6%9c%80%e7%b5%82%e6%9b%b4%e6%96%b0%e6%97%a5%e6%99%82%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%99%e3%82%8b%e7%b0%a1%e5%8d%98%e3%81%aa%e6%96%b9%e6%b3%95/#respond</comments>
		
		<dc:creator><![CDATA[manabi33]]></dc:creator>
		<pubDate>Tue, 31 Mar 2026 13:52:44 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://manabinotes.com/?p=334</guid>

					<description><![CDATA[Power Queryの台帳で最終更新日時を表示したいときは、更新日時専用の軽いクエリを1本作る方法がおすすめです。 VBAで更新完了を監視しようとすると不安定になりやすいため、まずはこの方法がいちばんシンプルで実用的で [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Power Queryの台帳で最終更新日時を表示したいときは、<br><strong>更新日時専用の軽いクエリを1本作る方法</strong>がおすすめです。</p>



<p>VBAで更新完了を監視しようとすると不安定になりやすいため、<br>まずはこの方法がいちばんシンプルで実用的です。 </p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">やり方</a></li><li><a href="#toc2" tabindex="0">セル形式の補足</a></li><li><a href="#toc3" tabindex="0">注意点</a></li><li><a href="#toc4" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">やり方</span></h2>



<p>Power Queryで空クエリを作り、次のコードを入れます。</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>let
    Source = #table(
        {"最終更新日時"},
        {{DateTime.FixedLocalNow()}}
    )
in
    Source</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #81A1C1">let</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Source</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> #</span><span style="color: #88C0D0">table</span><span style="color: #D8DEE9FF">(</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">{</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">最終更新日時</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">},</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">{{</span><span style="color: #D8DEE9">DateTime</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">FixedLocalNow</span><span style="color: #D8DEE9FF">()</span><span style="color: #ECEFF4">}}</span></span>
<span class="line"><span style="color: #D8DEE9FF">    )</span></span>
<span class="line"><span style="color: #81A1C1">in</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Source</span></span></code></pre></div>



<p>このクエリをシートに読み込めば、更新時刻が1セルで表示できます。 &lt;h3&gt;ポイント&lt;/h3&gt;</p>



<ul class="wp-block-list">
<li>本体クエリとは別に、更新日時専用クエリを作る</li>



<li>「すべて更新」を押すと、本体と一緒に更新される</li>



<li>VBA不要なので固まりにくい</li>



<li>作りが単純で保守しやすい</li>
</ul>



<h2 class="wp-block-heading"><span id="toc2">セル形式の補足</span></h2>



<p>読み込んだセルは、Excel側で表示形式を整えるのがおすすめです。</p>



<p>たとえば次の表示形式にすると見やすいです。</p>



<pre class="wp-block-preformatted">yyyy/mm/dd hh:mm:ss</pre>



<p>日付だけでよければこちらでもOKです。</p>



<pre class="wp-block-preformatted">yyyy/mm/dd</pre>



<p>文字付きで見せたい場合は、別セルで次のように参照します。</p>



<pre class="wp-block-preformatted">="最終更新: "&amp;TEXT(A2,"yyyy/mm/dd hh:mm:ss")</pre>



<h2 class="wp-block-heading"><span id="toc3">注意点</span></h2>



<p>この方法で表示されるのは、厳密には <strong>「更新日時クエリが更新された時刻」</strong>です。</p>



<p>そのため、重い本体クエリの成功・失敗まで厳密に判定したい場合は、<br>別の仕組みが必要になります。</p>



<h2 class="wp-block-heading"><span id="toc4">まとめ</span></h2>



<p>Power Query台帳で最終更新日時を表示したいなら、<br><strong>更新日時専用の軽いクエリを1本作る方法</strong>が最もおすすめです。</p>



<p>シンプルで軽く、実務でも扱いやすい方法です。</p>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://manabinotes.com/power-query%e5%8f%b0%e5%b8%b3%e3%81%a7%e6%9c%80%e7%b5%82%e6%9b%b4%e6%96%b0%e6%97%a5%e6%99%82%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%99%e3%82%8b%e7%b0%a1%e5%8d%98%e3%81%aa%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【PAD】エクセルデータから複数リストを生成</title>
		<link>https://manabinotes.com/%e3%80%90pad%e3%80%91%e3%82%a8%e3%82%af%e3%82%bb%e3%83%ab%e3%83%87%e3%83%bc%e3%82%bf%e3%81%8b%e3%82%89%e8%a4%87%e6%95%b0%e3%83%aa%e3%82%b9%e3%83%88%e3%82%92%e7%94%9f%e6%88%90/</link>
					<comments>https://manabinotes.com/%e3%80%90pad%e3%80%91%e3%82%a8%e3%82%af%e3%82%bb%e3%83%ab%e3%83%87%e3%83%bc%e3%82%bf%e3%81%8b%e3%82%89%e8%a4%87%e6%95%b0%e3%83%aa%e3%82%b9%e3%83%88%e3%82%92%e7%94%9f%e6%88%90/#respond</comments>
		
		<dc:creator><![CDATA[manabi33]]></dc:creator>
		<pubDate>Thu, 05 Mar 2026 23:15:09 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://manabinotes.com/?p=297</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<pre class="wp-block-code"><code></code></pre>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>SET ImportPath TO $'''C:\\SAP_DL\\MfgList.xlsx'''
SET SheetName TO $'''台帳'''
SET DataRange_FirstRow TO 8
SET DataRange_FirstColumn TO 1
SET KeyColumn TO 2
SET DownloadPath TO $'''C:\\SAP_DL\\'''
**REGION エクセルデータの読込
BLOCK Excelプロセス残留防止
ON BLOCK ERROR

END
    Excel.LaunchExcel.LaunchAndOpenUnderExistingProcess Path: ImportPath Visible: True ReadOnly: True UseMachineLocale: False Instance=> ExcelInstance
    Excel.SetActiveWorksheet.ActivateWorksheetByName Instance: ExcelInstance Name: SheetName
    Excel.ReadFromExcel.ReadAllCells Instance: ExcelInstance GetCellContentsMode: Excel.GetCellContentsMode.TypedValues FirstLineIsHeader: False RangeValue=> ExcelDataAll
    Excel.ReadFromExcel.ReadCells Instance: ExcelInstance StartColumn: DataRange_FirstColumn StartRow: DataRange_FirstRow EndColumn: ExcelDataAll.Columns.Count EndRow: ExcelDataAll.RowsCount GetCellContentsMode: Excel.GetCellContentsMode.TypedValues FirstLineIsHeader: False RangeValue=> ExcelDataExtracted
    Excel.CloseExcel.Close Instance: ExcelInstance
END
Excel.CloseExcel.Close Instance: ExcelInstance
ON ERROR

END
**ENDREGION
**REGION データの整理
Variables.FilterDataTable DataTable: ExcelDataExtracted FilterParameters: { ^&#91;'RULE', 'COLUMN', 'OPERATOR', 'VALUE'&#93;, &#91;$'''''', 2, $'''Contains''', $'''U'''&#93;, &#91;$'''Or''', 2, $'''Contains''', $'''O'''&#93; } MatchCase: True FilteredDataTable=> FilteredTable_ST
Variables.FilterDataTable DataTable: ExcelDataExtracted FilterParameters: { ^&#91;'RULE', 'COLUMN', 'OPERATOR', 'VALUE'&#93;, &#91;$'''''', 2, $'''Contains''', $'''V'''&#93; } MatchCase: True FilteredDataTable=> FilteredTable_OD
Variables.RetrieveDataTableColumnIntoList DataTable: FilteredTable_ST ColumnNameOrIndex: KeyColumn - 1 ColumnAsList=> List_ST
Variables.RetrieveDataTableColumnIntoList DataTable: FilteredTable_OD ColumnNameOrIndex: KeyColumn - 1 ColumnAsList=> List_OD
**ENDREGION
**REGION 実際の処理
# ここでList_STを使った処理
Clipboard.SetText Text: List_ST
Clipboard.GetText Text=> ClipboardText_ST
# ここでList_STを使った処理
Clipboard.SetText Text: List_OD
Clipboard.GetText Text=> ClipboardText_OD
**ENDREGION
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9">SET</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ImportPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">TO</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span><span style="color: #A3BE8C">C:</span><span style="color: #EBCB8B">\\</span><span style="color: #A3BE8C">SAP_DL</span><span style="color: #EBCB8B">\\</span><span style="color: #A3BE8C">MfgList.xlsx</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span></span>
<span class="line"><span style="color: #D8DEE9">SET</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SheetName</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">TO</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span><span style="color: #A3BE8C">台帳</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span></span>
<span class="line"><span style="color: #D8DEE9">SET</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">DataRange_FirstRow</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">TO</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">8</span></span>
<span class="line"><span style="color: #D8DEE9">SET</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">DataRange_FirstColumn</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">TO</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9">SET</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">KeyColumn</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">TO</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span></span>
<span class="line"><span style="color: #D8DEE9">SET</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">DownloadPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">TO</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span><span style="color: #A3BE8C">C:</span><span style="color: #EBCB8B">\\</span><span style="color: #A3BE8C">SAP_DL</span><span style="color: #EBCB8B">\\</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span></span>
<span class="line"><span style="color: #81A1C1">**</span><span style="color: #D8DEE9">REGION</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">エクセルデータの読込</span></span>
<span class="line"><span style="color: #D8DEE9">BLOCK</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Excelプロセス残留防止</span></span>
<span class="line"><span style="color: #D8DEE9">ON</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">BLOCK</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ERROR</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9">END</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Excel</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">LaunchExcel</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">LaunchAndOpenUnderExistingProcess</span><span style="color: #D8DEE9FF"> Path</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ImportPath</span><span style="color: #D8DEE9FF"> Visible</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span><span style="color: #D8DEE9FF"> ReadOnly</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span><span style="color: #D8DEE9FF"> UseMachineLocale</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Instance</span><span style="color: #81A1C1">=&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ExcelInstance</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Excel</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">SetActiveWorksheet</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">ActivateWorksheetByName</span><span style="color: #D8DEE9FF"> Instance</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ExcelInstance</span><span style="color: #D8DEE9FF"> Name</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SheetName</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Excel</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">ReadFromExcel</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">ReadAllCells</span><span style="color: #D8DEE9FF"> Instance</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ExcelInstance</span><span style="color: #D8DEE9FF"> GetCellContentsMode</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Excel</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">GetCellContentsMode</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">TypedValues</span><span style="color: #D8DEE9FF"> FirstLineIsHeader</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">RangeValue</span><span style="color: #81A1C1">=&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ExcelDataAll</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Excel</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">ReadFromExcel</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">ReadCells</span><span style="color: #D8DEE9FF"> Instance</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ExcelInstance</span><span style="color: #D8DEE9FF"> StartColumn</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">DataRange_FirstColumn</span><span style="color: #D8DEE9FF"> StartRow</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">DataRange_FirstRow</span><span style="color: #D8DEE9FF"> EndColumn</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ExcelDataAll</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Columns</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Count</span><span style="color: #D8DEE9FF"> EndRow</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ExcelDataAll</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">RowsCount</span><span style="color: #D8DEE9FF"> GetCellContentsMode</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Excel</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">GetCellContentsMode</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">TypedValues</span><span style="color: #D8DEE9FF"> FirstLineIsHeader</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">RangeValue</span><span style="color: #81A1C1">=&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ExcelDataExtracted</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Excel</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">CloseExcel</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Close</span><span style="color: #D8DEE9FF"> Instance</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ExcelInstance</span></span>
<span class="line"><span style="color: #D8DEE9">END</span></span>
<span class="line"><span style="color: #D8DEE9">Excel</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">CloseExcel</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Close</span><span style="color: #D8DEE9FF"> Instance</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ExcelInstance</span></span>
<span class="line"><span style="color: #D8DEE9">ON</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ERROR</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9">END</span></span>
<span class="line"><span style="color: #81A1C1">**</span><span style="color: #D8DEE9">ENDREGION</span></span>
<span class="line"><span style="color: #81A1C1">**</span><span style="color: #D8DEE9">REGION</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">データの整理</span></span>
<span class="line"><span style="color: #D8DEE9">Variables</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">FilterDataTable</span><span style="color: #D8DEE9FF"> DataTable</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ExcelDataExtracted</span><span style="color: #D8DEE9FF"> FilterParameters</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">^</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">RULE</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">COLUMN</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">OPERATOR</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">VALUE</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #D8DEE9">$</span><span style="color: #ECEFF4">&#39;&#39;&#39;&#39;&#39;&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span><span style="color: #A3BE8C">Contains</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span><span style="color: #A3BE8C">U</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #D8DEE9">$</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span><span style="color: #A3BE8C">Or</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span><span style="color: #A3BE8C">Contains</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span><span style="color: #A3BE8C">O</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span><span style="color: #D8DEE9FF">&#93; </span><span style="color: #ECEFF4">}</span><span style="color: #D8DEE9FF"> MatchCase</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FilteredDataTable</span><span style="color: #81A1C1">=&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FilteredTable_ST</span></span>
<span class="line"><span style="color: #D8DEE9">Variables</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">FilterDataTable</span><span style="color: #D8DEE9FF"> DataTable</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ExcelDataExtracted</span><span style="color: #D8DEE9FF"> FilterParameters</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">{</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">^</span><span style="color: #D8DEE9FF">&#91;</span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">RULE</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">COLUMN</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">OPERATOR</span><span style="color: #ECEFF4">&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">VALUE</span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF">&#93;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> &#91;</span><span style="color: #D8DEE9">$</span><span style="color: #ECEFF4">&#39;&#39;&#39;&#39;&#39;&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span><span style="color: #A3BE8C">Contains</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">$</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span><span style="color: #A3BE8C">V</span><span style="color: #ECEFF4">&#39;&#39;&#39;</span><span style="color: #D8DEE9FF">&#93; </span><span style="color: #ECEFF4">}</span><span style="color: #D8DEE9FF"> MatchCase</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FilteredDataTable</span><span style="color: #81A1C1">=&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FilteredTable_OD</span></span>
<span class="line"><span style="color: #D8DEE9">Variables</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">RetrieveDataTableColumnIntoList</span><span style="color: #D8DEE9FF"> DataTable</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FilteredTable_ST</span><span style="color: #D8DEE9FF"> ColumnNameOrIndex</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">KeyColumn</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ColumnAsList</span><span style="color: #81A1C1">=&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">List_ST</span></span>
<span class="line"><span style="color: #D8DEE9">Variables</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">RetrieveDataTableColumnIntoList</span><span style="color: #D8DEE9FF"> DataTable</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FilteredTable_OD</span><span style="color: #D8DEE9FF"> ColumnNameOrIndex</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">KeyColumn</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ColumnAsList</span><span style="color: #81A1C1">=&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">List_OD</span></span>
<span class="line"><span style="color: #81A1C1">**</span><span style="color: #D8DEE9">ENDREGION</span></span>
<span class="line"><span style="color: #81A1C1">**</span><span style="color: #D8DEE9">REGION</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">実際の処理</span></span>
<span class="line"><span style="color: #D8DEE9FF"># </span><span style="color: #D8DEE9">ここでList_STを使った処理</span></span>
<span class="line"><span style="color: #D8DEE9">Clipboard</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">SetText</span><span style="color: #D8DEE9FF"> Text</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">List_ST</span></span>
<span class="line"><span style="color: #D8DEE9">Clipboard</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">GetText</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Text</span><span style="color: #81A1C1">=&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ClipboardText_ST</span></span>
<span class="line"><span style="color: #D8DEE9FF"># </span><span style="color: #D8DEE9">ここでList_STを使った処理</span></span>
<span class="line"><span style="color: #D8DEE9">Clipboard</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">SetText</span><span style="color: #D8DEE9FF"> Text</span><span style="color: #ECEFF4">:</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">List_OD</span></span>
<span class="line"><span style="color: #D8DEE9">Clipboard</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">GetText</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Text</span><span style="color: #81A1C1">=&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ClipboardText_OD</span></span>
<span class="line"><span style="color: #81A1C1">**</span><span style="color: #D8DEE9">ENDREGION</span></span>
<span class="line"></span></code></pre></div>
]]></content:encoded>
					
					<wfw:commentRss>https://manabinotes.com/%e3%80%90pad%e3%80%91%e3%82%a8%e3%82%af%e3%82%bb%e3%83%ab%e3%83%87%e3%83%bc%e3%82%bf%e3%81%8b%e3%82%89%e8%a4%87%e6%95%b0%e3%83%aa%e3%82%b9%e3%83%88%e3%82%92%e7%94%9f%e6%88%90/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【VBA】複数ファイルの収集</title>
		<link>https://manabinotes.com/%e3%80%90vba%e3%80%91%e8%a4%87%e6%95%b0%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e5%8f%8e%e9%9b%86/</link>
					<comments>https://manabinotes.com/%e3%80%90vba%e3%80%91%e8%a4%87%e6%95%b0%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e5%8f%8e%e9%9b%86/#respond</comments>
		
		<dc:creator><![CDATA[manabi33]]></dc:creator>
		<pubDate>Sun, 01 Mar 2026 16:18:20 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://manabinotes.com/?p=265</guid>

					<description><![CDATA[目次 処理の流れDictionaryの検索 処理の流れ マクロ FileCopyMain を実行すると、以下の順番で動きます。 1. 入力チェック シートのB3（コピー元）とB4（コピー先）を読み取り、空欄がないか、コピ [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">処理の流れ</a></li><li><a href="#toc2" tabindex="0">Dictionaryの検索</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">処理の流れ</span></h2>



<p>マクロ <code>FileCopyMain</code> を実行すると、以下の順番で動きます。</p>



<p><strong>1. 入力チェック</strong> シートのB3（コピー元）とB4（コピー先）を読み取り、空欄がないか、コピー先が <code>C:\</code> や <code>D:\</code> などローカルドライブかを確認します。<code>\\server\...</code> のようなネットワークパスが指定されていたらブロックします。</p>



<p><strong>2. フォルダ存在チェック</strong> コピー元フォルダが実際に存在するか確認します。コピー先フォルダが存在しない場合は「作成しますか？」と聞いてきます。</p>



<p><strong>3. コピー元のファイル一覧をキャッシュ</strong> コピー元フォルダの中身を一度だけ全部読み込んで、メモリ上のリスト（Dictionary）に保存します。これが「キャッシュ」です（詳しくは後述）。</p>



<p><strong>4. 実行確認ダイアログ</strong> コピー元、コピー先、対象ファイル数をまとめたメッセージボックスが出ます。「はい」を押さない限りコピーは始まりません。</p>



<p><strong>5. 上書き確認</strong> コピー先に同名ファイルがある場合、その一覧を表示して「上書きしてよろしいですか？」と確認します。</p>



<p><strong>6. コピー実行</strong> ファイルを1つずつコピーしながら、ステータスバーに進捗（「3/20 コピー中&#8230;」のように）を表示します。各ファイルの結果はC列に緑（成功）または赤（失敗・見つからない）で書き込まれます。</p>



<p><strong>7. 完了報告</strong> 成功数・失敗数をまとめたメッセージが表示されます。<br></p>



<h2 class="wp-block-heading"><span id="toc2">Dictionaryの検索</span></h2>



<p>Dir()でフォルダ内のファイル名を1つずつ取得してDictionaryに入れていく処理ですが、これは<strong>ファイル名の文字列を読み取るだけ</strong>で、ファイルの中身を開いたりしません。100個程度のファイル名取得はネットワーク越しでも1回の通信で済むことがほとんどなので、体感としてはエクスプローラでそのフォルダを開くのと同じくらいの待ち時間です。</p>



<p>キャッシュ後の検索は、Dictionaryがハッシュテーブルという仕組みで動いているため、100個だろうが1000個だろうが<strong>1回の検索はほぼ一瞬</strong>です。20ファイル分の検索を合わせてもミリ秒レベルで終わります。</p>



<div class="wp-block-file"><a id="wp-block-file--media-d2497692-46a7-477f-adca-564188224807" href="https://manabinotes.com/wp-content/uploads/2026/03/b0ed8da469c12688ba7676c64d42c9a5-3.xlsx">ファイルコピーツール</a><a href="https://manabinotes.com/wp-content/uploads/2026/03/b0ed8da469c12688ba7676c64d42c9a5-3.xlsx" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-d2497692-46a7-477f-adca-564188224807">ダウンロード</a></div>



<div class="wp-block-file"><a id="wp-block-file--media-d7a0a4eb-3d40-48e3-8999-551922807b28" href="https://manabinotes.com/wp-content/uploads/2026/03/c64ab59e1748c4af755da86287cb52b0.txt">VBAコード</a><a href="https://manabinotes.com/wp-content/uploads/2026/03/c64ab59e1748c4af755da86287cb52b0.txt" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-d7a0a4eb-3d40-48e3-8999-551922807b28">ダウンロード</a></div>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>'=============================================================
' ファイルコピーツール VBAマクロ
' 使い方: Alt+F11 → 挿入 → 標準モジュール → このコードを貼り付け
'=============================================================

Option Explicit

' --- 定数 ---
Private Const SHEET_NAME As String = "ファイルコピー"
Private Const ROW_SRC As Long = 3       ' コピー元パス行
Private Const ROW_DST As Long = 4       ' コピー先パス行
Private Const COL_PATH As Long = 2      ' パス列 (B列)
Private Const ROW_FILE_START As Long = 8 ' ファイル名開始行
Private Const COL_NO As Long = 1        ' No.列 (A列)
Private Const COL_FILE As Long = 2      ' ファイル名列 (B列)
Private Const COL_RESULT As Long = 3    ' 結果列 (C列)

'=============================================================
' メインルーチン
'=============================================================
Public Sub FileCopyMain()

    Dim ws As Worksheet
    Dim srcFolder As String
    Dim dstFolder As String
    Dim fileNames() As String
    Dim fileCount As Long
    Dim i As Long

    On Error GoTo ErrHandler

    ' シート取得
    Set ws = ThisWorkbook.Worksheets(SHEET_NAME)

    ' パス取得・整形
    srcFolder = Trim(CStr(ws.Cells(ROW_SRC, COL_PATH).Value))
    dstFolder = Trim(CStr(ws.Cells(ROW_DST, COL_PATH).Value))

    ' 末尾に \ を付与
    If Right(srcFolder, 1) &lt;> "\" Then srcFolder = srcFolder &amp; "\"
    If Right(dstFolder, 1) &lt;> "\" Then dstFolder = dstFolder &amp; "\"

    ' --- バリデーション ---

    ' 空チェック
    If srcFolder = "\" Or dstFolder = "\" Then
        MsgBox "コピー元フォルダとコピー先フォルダを入力してください。", vbExclamation, "入力エラー"
        Exit Sub
    End If

    ' コピー先がローカルドライブかチェック
    If Not IsLocalPath(dstFolder) Then
        MsgBox "コピー先はローカルドライブ（C:\, D:\ 等）を指定してください。" &amp; vbCrLf &amp; _
               "ネットワークパス（\\で始まるパス）は指定できません。" &amp; vbCrLf &amp; vbCrLf &amp; _
               "現在の指定: " &amp; dstFolder, vbExclamation, "コピー先エラー"
        Exit Sub
    End If

    ' コピー元フォルダ存在チェック
    If Dir(srcFolder, vbDirectory) = "" Then
        MsgBox "コピー元フォルダが見つかりません:" &amp; vbCrLf &amp; srcFolder, vbExclamation, "パスエラー"
        Exit Sub
    End If

    ' コピー先フォルダ存在チェック
    If Dir(dstFolder, vbDirectory) = "" Then
        Dim ans As VbMsgBoxResult
        ans = MsgBox("コピー先フォルダが存在しません。作成しますか？" &amp; vbCrLf &amp; dstFolder, _
                     vbYesNo + vbQuestion, "フォルダ作成")
        If ans = vbYes Then
            MkDirRecursive dstFolder
        Else
            Exit Sub
        End If
    End If

    ' ファイル名一覧を取得
    fileCount = GetFileList(ws, fileNames)

    If fileCount = 0 Then
        MsgBox "コピー対象ファイルが1つも入力されていません。", vbExclamation, "入力エラー"
        Exit Sub
    End If

    ' 結果列クリア
    ClearResults ws

    ' --- 実行前確認 ---
    Dim confirmMsg As String
    confirmMsg = "以下の内容でファイルコピーを実行します。" &amp; vbCrLf &amp; vbCrLf
    confirmMsg = confirmMsg &amp; "【コピー元】" &amp; vbCrLf &amp; srcFolder &amp; vbCrLf &amp; vbCrLf
    confirmMsg = confirmMsg &amp; "【コピー先】" &amp; vbCrLf &amp; dstFolder &amp; vbCrLf &amp; vbCrLf
    confirmMsg = confirmMsg &amp; "【対象ファイル数】" &amp; fileCount &amp; " 件" &amp; vbCrLf &amp; vbCrLf
    confirmMsg = confirmMsg &amp; "実行してよろしいですか？"

    If MsgBox(confirmMsg, vbYesNo + vbQuestion, "実行確認") &lt;> vbYes Then
        Exit Sub
    End If

    ' --- コピー元ファイル一覧をキャッシュ（ネットワーク負荷軽減） ---
    ' ネットワークドライブは Dir() が遅いため、1回だけ列挙してDictionaryに格納
    Application.StatusBar = "コピー元フォルダを読み込み中（ネットワークドライブの場合、時間がかかります）..."
    DoEvents

    Dim srcFileDict As Object
    Set srcFileDict = CreateObject("Scripting.Dictionary")
    srcFileDict.CompareMode = vbTextCompare  ' 大文字小文字を無視

    Dim dirFile As String
    dirFile = Dir(srcFolder &amp; "*.*")
    Do While dirFile &lt;> ""
        If Not srcFileDict.Exists(LCase(dirFile)) Then
            srcFileDict.Add LCase(dirFile), dirFile  ' Key=小文字, Value=実際の名前
        End If
        dirFile = Dir()
    Loop
    Application.StatusBar = False

    ' --- 既存ファイル上書き確認 ---
    Dim overwriteList As String
    Dim overwriteCount As Long
    overwriteCount = 0
    overwriteList = ""

    For i = 0 To fileCount - 1
        Dim actualName As String
        actualName = FindInCache(srcFileDict, fileNames(i))
        If actualName &lt;> "" Then
            If Dir(dstFolder &amp; actualName) &lt;> "" Then
                overwriteCount = overwriteCount + 1
                overwriteList = overwriteList &amp; "  " &amp; actualName &amp; vbCrLf
            End If
        End If
    Next i

    If overwriteCount > 0 Then
        Dim owMsg As String
        owMsg = "コピー先に以下の " &amp; overwriteCount &amp; " ファイルが既に存在します。" &amp; vbCrLf
        owMsg = owMsg &amp; "上書きしてよろしいですか？" &amp; vbCrLf &amp; vbCrLf
        owMsg = owMsg &amp; overwriteList

        If MsgBox(owMsg, vbYesNo + vbExclamation, "上書き確認") &lt;> vbYes Then
            Exit Sub
        End If
    End If

    ' --- コピー実行 ---
    Application.StatusBar = "ファイルコピー処理中..."
    Application.ScreenUpdating = False

    Dim successCount As Long, failCount As Long, skipCount As Long
    successCount = 0: failCount = 0: skipCount = 0

    For i = 0 To fileCount - 1
        Dim rowNum As Long
        rowNum = ROW_FILE_START + i

        DoEvents  ' UIの応答を維持
        Application.StatusBar = "コピー中... (" &amp; (i + 1) &amp; "/" &amp; fileCount &amp; ") " &amp; fileNames(i)

        ' キャッシュから大文字小文字を無視して検索
        actualName = FindInCache(srcFileDict, fileNames(i))

        If actualName = "" Then
            ' ファイルが見つからない
            SetResult ws, rowNum, "見つかりません", RGB(200, 0, 0)
            failCount = failCount + 1
        Else
            ' コピー実行
            On Error Resume Next
            FileCopy srcFolder &amp; actualName, dstFolder &amp; actualName

            If Err.Number = 0 Then
                SetResult ws, rowNum, "コピー完了", RGB(0, 128, 0)
                successCount = successCount + 1
            Else
                SetResult ws, rowNum, "エラー: " &amp; Err.Description, RGB(200, 0, 0)
                failCount = failCount + 1
                Err.Clear
            End If
            On Error GoTo ErrHandler
        End If
    Next i

    Application.ScreenUpdating = True
    Application.StatusBar = False

    ' --- 完了メッセージ ---
    Dim resultMsg As String
    resultMsg = "ファイルコピーが完了しました。" &amp; vbCrLf &amp; vbCrLf
    resultMsg = resultMsg &amp; "  成功: " &amp; successCount &amp; " 件" &amp; vbCrLf
    resultMsg = resultMsg &amp; "  失敗: " &amp; failCount &amp; " 件" &amp; vbCrLf
    resultMsg = resultMsg &amp; "  合計: " &amp; fileCount &amp; " 件"

    If failCount > 0 Then
        MsgBox resultMsg, vbExclamation, "完了（一部エラーあり）"
    Else
        MsgBox resultMsg, vbInformation, "完了"
    End If

    Exit Sub

ErrHandler:
    Application.ScreenUpdating = True
    Application.StatusBar = False
    MsgBox "予期しないエラーが発生しました。" &amp; vbCrLf &amp; vbCrLf &amp; _
           "エラー番号: " &amp; Err.Number &amp; vbCrLf &amp; _
           "内容: " &amp; Err.Description, vbCritical, "エラー"
End Sub

'=============================================================
' ローカルパス判定（ドライブレターで始まるか）
'=============================================================
Private Function IsLocalPath(ByVal path As String) As Boolean
    IsLocalPath = False
    If Len(path) >= 2 Then
        Dim firstChar As String
        firstChar = UCase(Left(path, 1))
        If firstChar >= "A" And firstChar &lt;= "Z" Then
            If Mid(path, 2, 1) = ":" Then
                ' ネットワークドライブのマッピングも除外したい場合は
                ' 以下のチェックを有効にしてください
                ' （ただし、マッピングされたドライブはローカル扱いにする場合はコメントアウト）
                '
                ' Dim drv As String
                ' drv = Left(path, 2)
                ' Dim fso As Object
                ' Set fso = CreateObject("Scripting.FileSystemObject")
                ' If fso.DriveExists(drv) Then
                '     If fso.GetDrive(drv).DriveType = 3 Then ' Network
                '         IsLocalPath = False
                '         Exit Function
                '     End If
                ' End If

                IsLocalPath = True
            End If
        End If
    End If
End Function

'=============================================================
' キャッシュ済みDictionaryからファイルを検索（大文字小文字無視）
' ネットワークドライブへのDir()は1回だけに抑えるための仕組み
'=============================================================
Private Function FindInCache(ByVal dict As Object, ByVal targetName As String) As String
    Dim key As String
    key = LCase(Trim(targetName))
    If dict.Exists(key) Then
        FindInCache = dict(key)  ' 実際のファイル名を返す
    Else
        FindInCache = ""
    End If
End Function

'=============================================================
' ファイル名一覧を取得
'=============================================================
Private Function GetFileList(ByVal ws As Worksheet, ByRef fileNames() As String) As Long
    Dim count As Long
    count = 0
    Dim row As Long
    row = ROW_FILE_START

    ' まず件数をカウント
    Do While row &lt;= 1000  ' 安全上限
        Dim val As Variant
        val = ws.Cells(row, COL_FILE).Value
        If IsEmpty(val) Or Trim(CStr(val)) = "" Then
            Exit Do
        End If
        count = count + 1
        row = row + 1
    Loop

    If count = 0 Then
        GetFileList = 0
        Exit Function
    End If

    ReDim fileNames(0 To count - 1)

    Dim i As Long
    For i = 0 To count - 1
        fileNames(i) = Trim(CStr(ws.Cells(ROW_FILE_START + i, COL_FILE).Value))
    Next i

    GetFileList = count
End Function

'=============================================================
' 結果列をクリア
'=============================================================
Private Sub ClearResults(ByVal ws As Worksheet)
    Dim row As Long
    row = ROW_FILE_START
    Do While row &lt;= 1000
        If IsEmpty(ws.Cells(row, COL_FILE).Value) Or Trim(CStr(ws.Cells(row, COL_FILE).Value)) = "" Then
            Exit Do
        End If
        ws.Cells(row, COL_RESULT).Value = ""
        ws.Cells(row, COL_RESULT).Font.Color = RGB(0, 0, 0)
        row = row + 1
    Loop
End Sub

'=============================================================
' 結果セルに値と色を設定
'=============================================================
Private Sub SetResult(ByVal ws As Worksheet, ByVal row As Long, ByVal text As String, ByVal clr As Long)
    ws.Cells(row, COL_RESULT).Value = text
    ws.Cells(row, COL_RESULT).Font.Color = clr
End Sub

'=============================================================
' フォルダを再帰的に作成
'=============================================================
Private Sub MkDirRecursive(ByVal path As String)
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")

    If Not fso.FolderExists(path) Then
        ' 親フォルダを先に作成
        Dim parentPath As String
        parentPath = fso.GetParentFolderName(path)
        If Not fso.FolderExists(parentPath) Then
            MkDirRecursive parentPath
        End If
        fso.CreateFolder path
    End If
End Sub
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">============================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ファイルコピーツール VBAマク</span><span style="color: #D8DEE9">ロ</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 使い方: Alt+F11 → 挿入 → 標準モジュール → このコードを貼り付</span><span style="color: #D8DEE9">け</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">============================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9">Option</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Explicit</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- 定数 --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9">Private</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SHEET_NAME</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">ファイルコピー</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9">Private</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ROW_SRC</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF">       </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> コピー元パス</span><span style="color: #D8DEE9">行</span></span>
<span class="line"><span style="color: #D8DEE9">Private</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ROW_DST</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">       </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> コピー先パス</span><span style="color: #D8DEE9">行</span></span>
<span class="line"><span style="color: #D8DEE9">Private</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">COL_PATH</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">      </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> パス列 (B列</span><span style="color: #D8DEE9">)</span></span>
<span class="line"><span style="color: #D8DEE9">Private</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ROW_FILE_START</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">8</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ファイル名開始</span><span style="color: #D8DEE9">行</span></span>
<span class="line"><span style="color: #D8DEE9">Private</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">COL_NO</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> No.列 (A列</span><span style="color: #D8DEE9">)</span></span>
<span class="line"><span style="color: #D8DEE9">Private</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">COL_FILE</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">      </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ファイル名列 (B列</span><span style="color: #D8DEE9">)</span></span>
<span class="line"><span style="color: #D8DEE9">Private</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">COL_RESULT</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 結果列 (C列</span><span style="color: #D8DEE9">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">============================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> メインルーチ</span><span style="color: #D8DEE9">ン</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">============================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9">Public</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">FileCopyMain</span><span style="color: #D8DEE9FF">()</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Worksheet</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">srcFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dstFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fileNames</span><span style="color: #D8DEE9FF">() </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fileCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ErrHandler</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> シート取</span><span style="color: #D8DEE9">得</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ThisWorkbook</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Worksheets</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">SHEET_NAME</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> パス取得・整</span><span style="color: #D8DEE9">形</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">srcFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Trim</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ws</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ROW_SRC</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">COL_PATH</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">dstFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Trim</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ws</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ROW_DST</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">COL_PATH</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 末尾に </span><span style="color: #EBCB8B">\ </span><span style="color: #A3BE8C">を付</span><span style="color: #D8DEE9">与</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Right</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">srcFolder</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #EBCB8B">\&quot;</span><span style="color: #A3BE8C"> Then srcFolder = srcFolder &amp; </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">\</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #A3BE8C">    If Right(dstFolder, 1) &lt;&gt; </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">\</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C"> Then dstFolder = dstFolder &amp; </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">\</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A3BE8C">    &#39; --- バリデーション --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 空チェッ</span><span style="color: #D8DEE9">ク</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">srcFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #EBCB8B">\&quot;</span><span style="color: #A3BE8C"> Or dstFolder = </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">\</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C"> The</span><span style="color: #D8DEE9">n</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">コピー元フォルダとコピー先フォルダを入力してください。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbExclamation</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">入力エラー</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> コピー先がローカルドライブかチェッ</span><span style="color: #D8DEE9">ク</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Not</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">IsLocalPath</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dstFolder</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">コピー先はローカルドライブ（C:</span><span style="color: #EBCB8B">\,</span><span style="color: #A3BE8C"> D:</span><span style="color: #EBCB8B">\ </span><span style="color: #A3BE8C">等）を指定してください。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">               </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">ネットワークパス（</span><span style="color: #EBCB8B">\\</span><span style="color: #A3BE8C">で始まるパス）は指定できません。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">               </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">現在の指定: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dstFolder</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbExclamation</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">コピー先エラー</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> コピー元フォルダ存在チェッ</span><span style="color: #D8DEE9">ク</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Dir</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">srcFolder</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbDirectory</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">コピー元フォルダが見つかりません:</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">srcFolder</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbExclamation</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">パスエラー</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> コピー先フォルダ存在チェッ</span><span style="color: #D8DEE9">ク</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Dir</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dstFolder</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbDirectory</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ans</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">VbMsgBoxResult</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">ans</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">MsgBox</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">コピー先フォルダが存在しません。作成しますか？</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dstFolder</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">                     </span><span style="color: #D8DEE9">vbYesNo</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbQuestion</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">フォルダ作成</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ans</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbYes</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">MkDirRecursive</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dstFolder</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ファイル名一覧を取</span><span style="color: #D8DEE9">得</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">fileCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">GetFileList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ws</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fileNames</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fileCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">コピー対象ファイルが1つも入力されていません。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbExclamation</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">入力エラー</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 結果列クリ</span><span style="color: #D8DEE9">ア</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ClearResults</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- 実行前確認 --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">confirmMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">confirmMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">以下の内容でファイルコピーを実行します。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">confirmMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">confirmMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">【コピー元】</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">srcFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">confirmMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">confirmMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">【コピー先】</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dstFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">confirmMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">confirmMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">【対象ファイル数】</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fileCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C"> 件</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">confirmMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">confirmMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">実行してよろしいですか？</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">MsgBox</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">confirmMsg</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbYesNo</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbQuestion</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">実行確認</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbYes</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- コピー元ファイル一覧をキャッシュ（ネットワーク負荷軽減） --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ネットワークドライブは Dir() が遅いため、1回だけ列挙してDictionaryに格</span><span style="color: #D8DEE9">納</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">StatusBar</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">コピー元フォルダを読み込み中（ネットワークドライブの場合、時間がかかります）...</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">DoEvents</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">srcFileDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">srcFileDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.Dictionary</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">srcFileDict</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">CompareMode</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbTextCompare</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 大文字小文字を無</span><span style="color: #D8DEE9">視</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dirFile</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">dirFile</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Dir</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">srcFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">*.*</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Do</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">While</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dirFile</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Not</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">srcFileDict</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Exists</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">LCase</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dirFile</span><span style="color: #D8DEE9FF">)) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">srcFileDict</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Add</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">LCase</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dirFile</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dirFile</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> Key=小文字, Value=実際の名</span><span style="color: #D8DEE9">前</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">dirFile</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Dir</span><span style="color: #D8DEE9FF">()</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Loop</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">StatusBar</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- 既存ファイル上書き確認 --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">overwriteList</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">overwriteCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">overwriteCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">overwriteList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fileCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">actualName</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">actualName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">FindInCache</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">srcFileDict</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fileNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">actualName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Dir</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">dstFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">actualName</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">overwriteCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">overwriteCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">overwriteList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">overwriteList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">  </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">actualName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">overwriteCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">owMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">owMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">コピー先に以下の </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">overwriteCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C"> ファイルが既に存在します。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">owMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">owMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">上書きしてよろしいですか？</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">owMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">owMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">overwriteList</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">MsgBox</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">owMsg</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbYesNo</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbExclamation</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">上書き確認</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbYes</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- コピー実行 --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">StatusBar</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">ファイルコピー処理中...</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">ScreenUpdating</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">successCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">failCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">skipCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">successCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">: </span><span style="color: #D8DEE9">failCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">: </span><span style="color: #D8DEE9">skipCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fileCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">rowNum</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">rowNum</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ROW_FILE_START</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">DoEvents</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> UIの応答を維</span><span style="color: #D8DEE9">持</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">StatusBar</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">コピー中... (</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> (</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">/</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fileCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">) </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fileNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> キャッシュから大文字小文字を無視して検</span><span style="color: #D8DEE9">索</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">actualName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">FindInCache</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">srcFileDict</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fileNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">actualName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ファイルが見つからな</span><span style="color: #D8DEE9">い</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">SetResult</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">rowNum</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">見つかりません</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">RGB</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">failCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">failCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> コピー実</span><span style="color: #D8DEE9">行</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Resume</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Next</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">FileCopy</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">srcFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">actualName</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dstFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">actualName</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Err</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Number</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">SetResult</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">rowNum</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">コピー完了</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">RGB</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">128</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">successCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">successCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">SetResult</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">rowNum</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">エラー: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Err</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Description</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">RGB</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">200</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">failCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">failCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">Err</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Clear</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ErrHandler</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">ScreenUpdating</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">StatusBar</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- 完了メッセージ --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">resultMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">resultMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">ファイルコピーが完了しました。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">resultMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">resultMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">  成功: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">successCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C"> 件</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">resultMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">resultMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">  失敗: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">failCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C"> 件</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">resultMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">resultMsg</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">  合計: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fileCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C"> 件</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">failCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">resultMsg</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbExclamation</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">完了（一部エラーあり）</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">resultMsg</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbInformation</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">完了</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">ErrHandler</span><span style="color: #ECEFF4">:</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">ScreenUpdating</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">StatusBar</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">予期しないエラーが発生しました。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">           </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">エラー番号: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Err</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Number</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">           </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">内容: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Err</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Description</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCritical</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">エラー</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">============================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ローカルパス判定（ドライブレターで始まるか</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">============================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9">Private</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Function</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">IsLocalPath</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ByVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">path</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Boolean</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">IsLocalPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">path</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&gt;=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">firstChar</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">firstChar</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">UCase</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">Left</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">path</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">firstChar</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">A</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">And</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">firstChar</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Z</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Mid</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">path</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">:</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ネットワークドライブのマッピングも除外したい場合</span><span style="color: #D8DEE9">は</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 以下のチェックを有効にしてくださ</span><span style="color: #D8DEE9">い</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> （ただし、マッピングされたドライブはローカル扱いにする場合はコメントアウト</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span></span>
<span class="line"><span style="color: #A3BE8C">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">drv</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> drv = Left(path, 2</span><span style="color: #D8DEE9">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> Dim fso As Objec</span><span style="color: #D8DEE9">t</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> Set fso = CreateObject(&quot;Scripting.FileSystemObject&quot;</span><span style="color: #D8DEE9">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> If fso.DriveExists(drv) The</span><span style="color: #D8DEE9">n</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     If fso.GetDrive(drv).DriveType = 3 Then </span><span style="color: #ECEFF4">&#39;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Network</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">         IsLocalPath = Fals</span><span style="color: #D8DEE9">e</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">         Exit Functio</span><span style="color: #D8DEE9">n</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     End I</span><span style="color: #D8DEE9">f</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> End I</span><span style="color: #D8DEE9">f</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">IsLocalPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Function</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">============================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> キャッシュ済みDictionaryからファイルを検索（大文字小文字無視</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ネットワークドライブへのDir()は1回だけに抑えるための仕組</span><span style="color: #D8DEE9">み</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">============================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9">Private</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Function</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">FindInCache</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ByVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dict</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ByVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">targetName</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">key</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">key</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">LCase</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">Trim</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">targetName</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dict</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Exists</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">key</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">FindInCache</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">dict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">key</span><span style="color: #D8DEE9FF">)  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 実際のファイル名を返</span><span style="color: #D8DEE9">す</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">FindInCache</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Function</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">============================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ファイル名一覧を取</span><span style="color: #D8DEE9">得</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">============================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9">Private</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Function</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">GetFileList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ByVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Worksheet</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ByRef</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fileNames</span><span style="color: #D8DEE9FF">() </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">count</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">count</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">row</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">row</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ROW_FILE_START</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> まず件数をカウン</span><span style="color: #D8DEE9">ト</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Do</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">While</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">row</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1000</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 安全上</span><span style="color: #D8DEE9">限</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">val</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">val</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">row</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">COL_FILE</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">IsEmpty</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">val</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Or</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Trim</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">val</span><span style="color: #D8DEE9FF">)) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Do</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">count</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">count</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">row</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">row</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Loop</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">count</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">GetFileList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Function</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fileNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">count</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">count</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">fileNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Trim</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ws</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ROW_FILE_START</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">COL_FILE</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">GetFileList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">count</span></span>
<span class="line"><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Function</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">============================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 結果列をクリ</span><span style="color: #D8DEE9">ア</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">============================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9">Private</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">ClearResults</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ByVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Worksheet</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">row</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">row</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ROW_FILE_START</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Do</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">While</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">row</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1000</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">IsEmpty</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ws</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">row</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">COL_FILE</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Or</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Trim</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ws</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">row</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">COL_FILE</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF">)) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Do</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">ws</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">row</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">COL_RESULT</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">ws</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">row</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">COL_RESULT</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Font</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Color</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">RGB</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">row</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">row</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Loop</span></span>
<span class="line"><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">============================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 結果セルに値と色を設</span><span style="color: #D8DEE9">定</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">============================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9">Private</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">SetResult</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ByVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Worksheet</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ByVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">row</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ByVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">text</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ByVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">clr</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ws</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">row</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">COL_RESULT</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">text</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ws</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">row</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">COL_RESULT</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Font</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Color</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">clr</span></span>
<span class="line"><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">============================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> フォルダを再帰的に作</span><span style="color: #D8DEE9">成</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">============================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9">Private</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">MkDirRecursive</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ByVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">path</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.FileSystemObject</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Not</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">FolderExists</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">path</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 親フォルダを先に作</span><span style="color: #D8DEE9">成</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">parentPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">parentPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">GetParentFolderName</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">path</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Not</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">FolderExists</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">parentPath</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">MkDirRecursive</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">parentPath</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">CreateFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">path</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span></span>
<span class="line"></span></code></pre></div>
]]></content:encoded>
					
					<wfw:commentRss>https://manabinotes.com/%e3%80%90vba%e3%80%91%e8%a4%87%e6%95%b0%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e5%8f%8e%e9%9b%86/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【VBA】微妙に違うファイルの比較&#038;集約</title>
		<link>https://manabinotes.com/%e3%80%90vba%e3%80%91%e5%be%ae%e5%a6%99%e3%81%ab%e9%81%95%e3%81%86%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e6%af%94%e8%bc%83%e9%9b%86%e7%b4%84/</link>
					<comments>https://manabinotes.com/%e3%80%90vba%e3%80%91%e5%be%ae%e5%a6%99%e3%81%ab%e9%81%95%e3%81%86%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e6%af%94%e8%bc%83%e9%9b%86%e7%b4%84/#respond</comments>
		
		<dc:creator><![CDATA[manabi33]]></dc:creator>
		<pubDate>Wed, 25 Feb 2026 03:05:52 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://manabinotes.com/?p=253</guid>

					<description><![CDATA[目次 やりたかったこと設計方針：「定数で全部変えられる」パフォーマンス：4つの高速化ポイント1. 配列一括 Read/Write2. Scripting.Dictionary で O(1) ルックアップ3. シェルソート [&#8230;]]]></description>
										<content:encoded><![CDATA[

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">やりたかったこと</a></li><li><a href="#toc2" tabindex="0">設計方針：「定数で全部変えられる」</a></li><li><a href="#toc3" tabindex="0">パフォーマンス：4つの高速化ポイント</a><ol><li><a href="#toc4" tabindex="0">1. 配列一括 Read/Write</a></li><li><a href="#toc5" tabindex="0">2. Scripting.Dictionary で O(1) ルックアップ</a></li><li><a href="#toc6" tabindex="0">3. シェルソート</a></li><li><a href="#toc7" tabindex="0">4. ローカルTEMPコピー</a></li></ol></li><li><a href="#toc8" tabindex="0">はまったポイント</a><ol><li><a href="#toc9" tabindex="0">.bas ファイルの文字化け</a></li><li><a href="#toc10" tabindex="0">OneDrive パスの罠</a></li></ol></li><li><a href="#toc11" tabindex="0">コード構成（最終版）</a></li><li><a href="#toc12" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">やりたかったこと</span></h2>



<p>複数のExcelファイル（dwglist_n1～n8）に散らばった部品リストを、1つのブックに集約したい。</p>



<ul class="wp-block-list">
<li><strong>output1</strong>: クロスリファレンス表（どのファイルにどの部品があるか〇で表示）</li>



<li><strong>output2</strong>: キーごとのメモ集約表（コメントを結合し、一部のファイルにしか無い場合は「n1,n3のみ」と注記）</li>
</ul>



<p>対象規模は 300行 × 8ファイル。共有ドライブ上のファイルを扱う。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc2">設計方針：「定数で全部変えられる」</span></h2>



<p>列番号・行範囲・ソートキー・フィルタ条件をすべてコード冒頭の <code>Const</code> で定義した。実務でレイアウト変更があっても、定数を書き換えるだけで対応できる。</p>



<p>vb</p>



<pre class="wp-block-code"><code>' 読み込み元
Const SRC_COL_KEY   As Long = 11  ' K列: 集約キー
Const SRC_COL_CMNT  As Long = 27  ' AA列: コメント
Const SRC_LAST_COL  As Long = 92  ' CN列: 最終列

' ソートキー（5段階）
Const SORT_KEY_1 As Long = 11   ' K列
Const SORT_KEY_2 As Long = 15   ' O列
Const SORT_KEY_3 As Long = 14   ' N列

' output2 範囲フィルタ
Const OUT2_KEY_FROM As String = ""  ' 空なら制限なし
Const OUT2_KEY_TO   As String = ""

' output2 列ソース
Const OUT2_COL_NO   As Long = 20  ' T列 → no
Const OUT2_COL_NAME As Long = 26  ' Z列 → name</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc3">パフォーマンス：4つの高速化ポイント</span></h2>



<h3 class="wp-block-heading"><span id="toc4">1. 配列一括 Read/Write</span></h3>



<p>セルを1つずつ読み書きすると、COM呼び出しが毎回発生して遅い。<code>Range.Value</code> で配列に一括読み込み→処理→一括書き込みにすることで、数十倍速くなる。</p>



<p>vb</p>



<pre class="wp-block-code"><code>data = .Range(.Cells(5, 1), .Cells(lastRow, 92)).Value  ' 一括読み込み
ws1.Range(...).Value = out1                                ' 一括書き込み</code></pre>



<h3 class="wp-block-heading"><span id="toc5">2. Scripting.Dictionary で O(1) ルックアップ</span></h3>



<p>キーの重複チェック・クロスリファレンスの存在判定に <code>Scripting.Dictionary</code> を使用。配列の線形検索 O(n) に比べて、ハッシュベースの O(1) で高速。</p>



<h3 class="wp-block-heading"><span id="toc6">3. シェルソート</span></h3>



<p>バブルソート O(n^2) → シェルソート O(n^1.3) に変更。300行程度なら体感差は小さいが、データ増加時に効いてくる。5段階の多段キー比較に対応。</p>



<h3 class="wp-block-heading"><span id="toc7">4. ローカルTEMPコピー</span></h3>



<p>共有ドライブ上のファイルを直接 <code>Workbooks.Open</code> すると、Excelがネットワーク越しに逐次アクセスするため遅い。<code>fso.CopyFile</code> でローカルの <code>%TEMP%</code> に一括コピーしてから開くことで、ネットワーク転送を1回に削減。</p>



<p>vb</p>



<pre class="wp-block-code"><code>fso.CopyFile srcFiles(i), tempPath, True  ' 一括コピー
Set srcWb = Workbooks.Open(tempPath, ...)  ' ローカルから読む
' ... 処理後 ...
fso.DeleteFile tempPath, True              ' 後片付け</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc8">はまったポイント</span></h2>



<h3 class="wp-block-heading"><span id="toc9">.bas ファイルの文字化け</span></h3>



<p>VBEは Shift-JIS (CP932) でしか .bas を読めないが、エディタやリンターが勝手にUTF-8に変換してしまい、日本語コメントが文字化けした。</p>



<p><strong>解決策</strong>: Pythonで Shift-JIS + CRLF の .bas を生成し、ZIP に格納して渡す。ZIPの中身はリンターが触れないので安全。</p>



<h3 class="wp-block-heading"><span id="toc10">OneDrive パスの罠</span></h3>



<p><code>ThisWorkbook.Path</code> が <code>https://d.docs.live.net/...</code> のようなURL形式を返すことがある。ローカルパスへの自動変換は環境依存で不安定。</p>



<p><strong>解決策</strong>: settingシートの C1 にベースフォルダパスを直接指定する方式に変更。自動解決を諦めて、確実な手動指定にした。</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc11">コード構成（最終版）</span></h2>



<pre class="wp-block-code"><code>Sub RunAggregate()
  ├─ 1. settingシート読み込み（フォルダパス・ファイルリスト）
  ├─ 2. ファイルリスト取得＋存在チェック
  ├─ 3. 全ソースファイル読み込み → Dictionary格納
  │     ├─ ローカルTEMPコピー
  │     ├─ 配列一括読み込み
  │     ├─ rowDict（全列データ保持）
  │     └─ sortDict（ソートキー値保持）
  ├─ 4. シェルソート（多段キー）
  ├─ 5. output1 出力（全列＋〇マーク上書き）
  └─ 6. output2 出力（no + name + 備考、範囲フィルタ付き）</code></pre>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading"><span id="toc12">まとめ</span></h2>



<ul class="wp-block-list">
<li><strong>定数化</strong>: レイアウト変更に強い。列番号・ソート順・フィルタ範囲がすべてコード冒頭で完結</li>



<li><strong>配列一括処理 + Dictionary</strong>: VBAでも十分高速に処理できる</li>



<li><strong>共有ドライブ対策</strong>: TEMPコピーで読み込み速度を改善</li>



<li><strong>エンコーディング対策</strong>: ZIP格納で文字化けを回避</li>



<li><strong>OneDrive対策</strong>: 自動解決より手動指定が確実</li>
</ul>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>Option Explicit

' ============================================================
'  処理A : 部品リスト集約マクロ
'  ────────────────────────────────────────────────────────────
'  ・settingシートで指定したソースファイル(import/)を読み込み、
'    output1 に〇クロスリファレンス表（ソース全列）、
'    output2 にキーごとのメモ集約表を出力する。
'  ・配列一括 Read/Write ＋ シェルソートで高速処理
' ============================================================


Sub RunAggregate()

    ' ==========================================================
    '  定数定義：読み込み元（ソースファイル）の列番号
    '  ソースの列範囲は A(1)～CN(92)
    ' ==========================================================
    Const SRC_COL_KEY   As Long = 11  ' K列  : キー（集約キー）
    Const SRC_COL_CMNT  As Long = 27  ' AA列 : コメント
    Const SRC_LAST_COL  As Long = 92  ' CN列 : データ最終列
    Const SRC_START_ROW As Long = 5   ' データ開始行（4行目はヘッダ）

    ' ==========================================================
    '  定数定義：出力先（output1）の列番号・行番号
    ' ==========================================================
    Const OUT_COL_KEY   As Long = 11  ' K列  : キー表示位置
    Const OUT_COL_WORK  As Long = 27  ' AA列 : 作業（コメント）
    Const OUT_COL_N     As Long = 2   ' B列  : n列の開始位置
    Const OUT_HDR_ROW   As Long = 4   ' ヘッダ行（B4～I4 に n1,n2,...）

    ' ==========================================================
    '  定数定義：出力先（output2）の列番号
    '  1列目=no(T列), 2列目=name(Z列), 3列目=備考
    ' ==========================================================
    Const OUT2_COL_NO   As Long = 20  ' T列  : no（ソースのT列から取得）
    Const OUT2_COL_NAME As Long = 26  ' Z列  : name（ソースのZ列から取得）

    ' ==========================================================
    '  定数定義：settingシートの巡回範囲
    ' ==========================================================
    Const START_ROW As Long = 2   ' ファイルリスト開始行
    Const END_ROW   As Long = 10  ' ファイルリスト終了行

    ' ==========================================================
    '  定数定義：ファイル名トリム（output2 専用）
    '  output2 出力時のみ、キー値の先頭・末尾を除去する。
    '  output1 には影響しない。
    '  不要なら "" にすればスキップされる。
    ' ==========================================================
    Const FNAME_TRIM_PREFIX As String = ""   ' 先頭から除去する文字列
    Const FNAME_TRIM_SUFFIX As String = ""   ' 末尾から除去する文字列

    ' ==========================================================
    '  定数定義：output2 キー範囲フィルタ
    '  output2 に出力するキーの範囲を指定する。
    '  文字列比較（昇順）で FROM ≦ キー ≦ TO の行のみ出力。
    '  空文字 "" なら制限なし（全キー出力）。
    '  例: "A00-0000" ～ "B99-9999" → A～B で始まるキーのみ
    ' ==========================================================
    Const OUT2_KEY_FROM As String = ""   ' 開始キー（空なら制限なし）
    Const OUT2_KEY_TO   As String = ""   ' 終了キー（空なら制限なし）

    ' ==========================================================
    '  定数定義：ソートキー（最大5段階）
    '  出力の並び順を制御する。列番号を指定（0 = 使わない）。
    '  例: K列(11)→O列(15)→N列(14) の順でソート
    ' ==========================================================
    Const SORT_KEY_1 As Long = 11   ' 第1キー: K列
    Const SORT_KEY_2 As Long = 15   ' 第2キー: O列
    Const SORT_KEY_3 As Long = 14   ' 第3キー: N列
    Const SORT_KEY_4 As Long = 0    ' 第4キー: なし
    Const SORT_KEY_5 As Long = 0    ' 第5キー: なし

    ' ==========================================================
    '  定数定義：区切り文字・日本語ラベル
    ' ==========================================================
    Const SEP As String = "|"

    Const MARU      As String = "〇"
    Const NOMI      As String = "のみ"
    Const HDR_KEY   As String = "キー"
    Const HDR_WORK  As String = "作業"
    Const HDR_NO    As String = "no"
    Const HDR_NAME  As String = "name"
    Const HDR_MEMO  As String = "備考"

    ' ==========================================================
    '  変数宣言
    ' ==========================================================
    Dim fso        As Object
    Dim folderPath As String
    Dim srcFiles() As String
    Dim srcNames() As String
    Dim nFiles     As Long
    Dim i          As Long
    Dim r          As Long
    Dim c          As Long

    ' ----------------------------------------------------------
    '  画面更新・再計算・イベントを一時停止（高速化）
    ' ----------------------------------------------------------
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
    On Error GoTo ErrHandler

    Set fso = CreateObject("Scripting.FileSystemObject")


    ' ==========================================================
    '  1. settingシート読み込み（必須）
    ' ==========================================================
    Dim wsSetting As Worksheet

    On Error Resume Next
    Set wsSetting = ThisWorkbook.Sheets("setting")
    On Error GoTo ErrHandler

    ' --- settingシートが無ければエラー終了 ---
    If wsSetting Is Nothing Then
        MsgBox "エラー: 'setting' シートが見つかりません。" &amp; vbCrLf &amp; _
               "settingシートを作成してください。", vbCritical
        GoTo Cleanup
    End If

    ' --- C1 からベースフォルダパスを取得 ---
    Dim baseFolder As String
    baseFolder = Trim(CStr(wsSetting.Cells(1, 3).Value &amp; ""))

    If baseFolder &lt;> "" Then
        If Right(baseFolder, 1) &lt;> "\" Then baseFolder = baseFolder &amp; "\"
        If Not fso.FolderExists(baseFolder) Then
            MsgBox "エラー: ベースフォルダが見つかりません:" &amp; vbCrLf &amp; _
                   baseFolder &amp; vbCrLf &amp; vbCrLf &amp; _
                   "settingシートのC1を確認してください。", vbCritical
            GoTo Cleanup
        End If
        folderPath = baseFolder
    Else
        MsgBox "エラー: フォルダパスが取得できません。" &amp; vbCrLf &amp; _
               "settingシートのC1にベースフォルダパスを設定してください。", vbCritical
        GoTo Cleanup
    End If


    ' ==========================================================
    '  2. settingシートからファイルリストを取得
    '     （C列 START_ROW～END_ROW を巡回）
    ' ==========================================================
    If wsSetting.Cells(START_ROW, 3).Value = "" Then
        MsgBox "エラー: ファイルが設定されていません。" &amp; vbCrLf &amp; _
               "settingシートのC" &amp; START_ROW &amp; "以降にファイル名を入力してください。", vbCritical
        GoTo Cleanup
    End If

    ' --- 配列を事前確保（最大ファイル数 = END_ROW - START_ROW + 1） ---
    Dim maxFiles As Long
    maxFiles = END_ROW - START_ROW + 1
    ReDim srcFiles(1 To maxFiles)
    ReDim srcNames(1 To maxFiles)

    nFiles = 0
    Dim si As Long, sj As Long, st As String
    Dim cellVal     As String
    Dim fullPath    As String
    Dim missingFiles As String
    missingFiles = ""

    For r = START_ROW To END_ROW
        cellVal = Trim(CStr(wsSetting.Cells(r, 3).Value &amp; ""))

        If cellVal &lt;> "" Then
            If InStr(cellVal, "\") > 0 Or InStr(cellVal, "/") > 0 Then
                fullPath = cellVal
            Else
                fullPath = folderPath &amp; cellVal
            End If

            If Not fso.FileExists(fullPath) Then
                missingFiles = missingFiles &amp; "  行 " &amp; r &amp; ": " &amp; cellVal &amp; vbCrLf
            Else
                nFiles = nFiles + 1
                srcFiles(nFiles) = fullPath

                Dim dispName As String
                dispName = Trim(CStr(wsSetting.Cells(r, 2).Value &amp; ""))
                If dispName = "" Then
                    Dim bName As String
                    bName = fso.GetFileName(fullPath)
                    If InStr(bName, "_n") > 0 Then
                        Dim nm As String
                        nm = Mid(bName, InStr(bName, "_n") + 2)
                        dispName = "n" &amp; Left(nm, Len(nm) - 5)
                    Else
                        dispName = Left(bName, Len(bName) - 5)
                    End If
                End If
                srcNames(nFiles) = dispName
            End If
        End If
    Next r

    If missingFiles &lt;> "" Then
        MsgBox "エラー: 以下のファイルが見つかりません:" &amp; vbCrLf &amp; vbCrLf &amp; _
               missingFiles &amp; vbCrLf &amp; _
               "ベースフォルダ: " &amp; folderPath, vbCritical
        GoTo Cleanup
    End If

    If nFiles = 0 Then
        MsgBox "エラー: 有効なファイルがありません。", vbCritical
        GoTo Cleanup
    End If


    ' ==========================================================
    '  3. 全ソースファイル読み込み → Dictionaryに格納
    '     key = "K列値|コメント"
    '     value = Dictionary (ソース名 → True)
    '     ※ K列に値がある行を全て対象とする（〇フィルタなし）
    ' ==========================================================
    Dim crossRef As Object           ' 全キーのクロスリファレンス
    Set crossRef = CreateObject("Scripting.Dictionary")

    ' --- ソート用：各compKeyのソートキー値を保持 ---
    Dim sortDict As Object
    Set sortDict = CreateObject("Scripting.Dictionary")

    ' --- output1用：各compKeyの全列データを保持（初回出現時） ---
    Dim rowDict As Object
    Set rowDict = CreateObject("Scripting.Dictionary")

    ' --- output1用：ソースのヘッダ行（最初のファイルから取得） ---
    Dim hdrRow As Variant
    hdrRow = Empty

    ' --- キーリスト：事前確保して後で切り詰め ---
    Const INIT_KEYS As Long = 1024
    Dim keyList() As String
    Dim keyCount As Long
    ReDim keyList(1 To INIT_KEYS)
    keyCount = 0

    Dim srcWb   As Workbook
    Dim data    As Variant
    Dim lastRow As Long
    Dim keyVal  As String
    Dim cmnt    As String
    Dim compKey As String

    ' --- 共有ドライブ高速化：ローカルTEMPにコピーしてから読む ---
    Dim tempDir  As String
    Dim tempPath As String
    tempDir = Environ("TEMP")
    If Right(tempDir, 1) &lt;> "\" Then tempDir = tempDir &amp; "\"

    For i = 1 To nFiles

        ' ★ ネットワークファイルをローカルにコピー（一括転送で高速）
        tempPath = tempDir &amp; fso.GetFileName(srcFiles(i))
        On Error Resume Next
        fso.CopyFile srcFiles(i), tempPath, True
        On Error GoTo ErrHandler

        ' ローカルコピーがあればそちらを開く、なければ元パスを開く
        Dim openPath As String
        If fso.FileExists(tempPath) Then
            openPath = tempPath
        Else
            openPath = srcFiles(i)
        End If

        Set srcWb = Workbooks.Open(openPath, ReadOnly:=True, UpdateLinks:=0)

        With srcWb.Sheets(1)
            lastRow = .Cells(.Rows.Count, SRC_COL_KEY).End(xlUp).Row

            If lastRow >= SRC_START_ROW Then

                ' --- ヘッダ行を最初のファイルから取得（1行前 = 4行目） ---
                If IsEmpty(hdrRow) Then
                    hdrRow = .Range(.Cells(SRC_START_ROW - 1, 1), _
                                    .Cells(SRC_START_ROW - 1, SRC_LAST_COL)).Value
                End If

                ' --- A列～CN列 を配列に一括読み込み ---
                data = .Range(.Cells(SRC_START_ROW, 1), .Cells(lastRow, SRC_LAST_COL)).Value

                For r = 1 To UBound(data, 1)

                    keyVal = Trim(CStr(data(r, SRC_COL_KEY) &amp; ""))

                    If keyVal &lt;> "" Then

                        If IsEmpty(data(r, SRC_COL_CMNT)) Or _
                           CStr(data(r, SRC_COL_CMNT) &amp; "") = "" Then
                            cmnt = ""
                        Else
                            cmnt = CStr(data(r, SRC_COL_CMNT))
                        End If

                        compKey = keyVal &amp; SEP &amp; cmnt

                        If Not crossRef.Exists(compKey) Then
                            Set crossRef(compKey) = CreateObject("Scripting.Dictionary")
                            keyCount = keyCount + 1

                            ' 配列が足りなければ倍に拡張
                            If keyCount > UBound(keyList) Then
                                ReDim Preserve keyList(1 To UBound(keyList) * 2)
                            End If
                            keyList(keyCount) = compKey

                            ' ★ 全列データを保持（初回出現時の値を使用）
                            Dim rv As Variant
                            ReDim rv(1 To SRC_LAST_COL)
                            For c = 1 To SRC_LAST_COL
                                rv(c) = data(r, c)
                            Next c
                            rowDict(compKey) = rv

                            ' ★ ソート用の値を保持
                            Dim sv As Variant
                            sv = Array("", "", "", "", "")
                            If SORT_KEY_1 > 0 Then sv(0) = CStr(data(r, SORT_KEY_1) &amp; "")
                            If SORT_KEY_2 > 0 Then sv(1) = CStr(data(r, SORT_KEY_2) &amp; "")
                            If SORT_KEY_3 > 0 Then sv(2) = CStr(data(r, SORT_KEY_3) &amp; "")
                            If SORT_KEY_4 > 0 Then sv(3) = CStr(data(r, SORT_KEY_4) &amp; "")
                            If SORT_KEY_5 > 0 Then sv(4) = CStr(data(r, SORT_KEY_5) &amp; "")
                            sortDict(compKey) = sv
                        End If

                        crossRef(compKey)(srcNames(i)) = True
                    End If
                Next r
            End If
        End With

        srcWb.Close False

        ' ★ TEMPのコピーを削除（後片付け）
        On Error Resume Next
        If fso.FileExists(tempPath) Then fso.DeleteFile tempPath, True
        On Error GoTo ErrHandler
    Next i

    If keyCount = 0 Then
        MsgBox "データが見つかりませんでした。", vbExclamation
        GoTo Cleanup
    End If

    ' --- keyList を実サイズに切り詰め ---
    If keyCount &lt; UBound(keyList) Then
        ReDim Preserve keyList(1 To keyCount)
    End If


    ' ==========================================================
    '  4. シェルソート（SORT_KEY_1～5 の多段比較）
    '     バブルソート O(n^2) からシェルソート O(n^1.3) に高速化
    ' ==========================================================
    Dim va As Variant, vb As Variant
    Dim sk As Long
    Dim needSwap As Boolean
    Dim gap As Long, gi As Long, gj As Long
    Dim tmp As String

    gap = keyCount \ 2
    Do While gap > 0
        For gi = gap + 1 To keyCount
            tmp = keyList(gi)
            Dim tmpSort As Variant
            tmpSort = sortDict(tmp)
            gj = gi
            Do While gj > gap
                vb = sortDict(keyList(gj - gap))
                needSwap = False
                For sk = 0 To 4
                    If vb(sk) &lt;> tmpSort(sk) Then
                        needSwap = (vb(sk) > tmpSort(sk))
                        Exit For
                    End If
                Next sk
                If Not needSwap Then Exit Do
                keyList(gj) = keyList(gj - gap)
                gj = gj - gap
            Loop
            keyList(gj) = tmp
        Next gi
        gap = gap \ 2
    Loop


    ' ==========================================================
    '  5. output1 : クロスリファレンス表を出力
    '     ソース全列(A～CN)のデータを表示し、
    '     B～I列のみ n1～n8 の〇マークで上書きする。
    ' ==========================================================
    Dim ws1 As Worksheet
    Set ws1 = ThisWorkbook.Sheets("output1")
    ws1.Cells.Clear

    Dim out1() As Variant
    Dim outCols As Long
    outCols = SRC_LAST_COL

    ReDim out1(1 To keyCount + 1, 1 To outCols)

    ' --- ヘッダ行：ソースのヘッダをコピーし、B～I列のみ上書き ---
    Dim parts() As String
    If Not IsEmpty(hdrRow) Then
        For c = 1 To outCols
            out1(1, c) = hdrRow(1, c)
        Next c
    End If
    For i = 1 To nFiles
        out1(1, OUT_COL_N + i - 1) = srcNames(i)
    Next i

    ' --- データ行：全列データをコピーし、B～I列のみ〇で上書き ---
    Dim rowData As Variant
    Dim cRef As Object

    For r = 1 To keyCount
        rowData = rowDict(keyList(r))
        For c = 1 To outCols
            out1(r + 1, c) = rowData(c)
        Next c

        ' B～I列を〇で上書き（Dictionary参照を変数にキャッシュ）
        Set cRef = crossRef(keyList(r))
        For i = 1 To nFiles
            If cRef.Exists(srcNames(i)) Then
                out1(r + 1, OUT_COL_N + i - 1) = MARU
            Else
                out1(r + 1, OUT_COL_N + i - 1) = ""
            End If
        Next i
    Next r

    ws1.Range(ws1.Cells(OUT_HDR_ROW, 1), _
              ws1.Cells(OUT_HDR_ROW + keyCount, outCols)).Value = out1

    ' --- B4～I4（n列ヘッダ）を縦書き表示にする ---
    Dim lastNCol As Long
    lastNCol = OUT_COL_N + nFiles - 1
    If lastNCol > 9 Then lastNCol = 9
    If lastNCol >= OUT_COL_N Then
        ws1.Range(ws1.Cells(OUT_HDR_ROW, OUT_COL_N), _
                  ws1.Cells(OUT_HDR_ROW, lastNCol)).Orientation = 90
    End If

    ' --- out1 配列を解放（メモリ節約） ---
    Erase out1


    ' ==========================================================
    '  6. output2 : キーごとのメモ集約表を出力
    '     1列目: no（ソースのT列）
    '     2列目: name（ソースのZ列）
    '     3列目: 備考（コメント集約）
    '     ※ OUT2_KEY_FROM / OUT2_KEY_TO で範囲フィルタ可能
    ' ==========================================================
    Dim ws2 As Worksheet
    Set ws2 = ThisWorkbook.Sheets("output2")
    ws2.Cells.Clear

    ' --- キーごとにコメント・no・nameを集約する Dictionary ---
    Dim fnDict   As Object    ' キー値 → 結合メモ文字列
    Dim fnNoDict As Object    ' キー値 → no（初回出現時のT列値）
    Dim fnNmDict As Object    ' キー値 → name（初回出現時のZ列値）
    Dim fnList() As String    ' 出現順のキーリスト
    Dim fnCount  As Long
    Set fnDict = CreateObject("Scripting.Dictionary")
    Set fnNoDict = CreateObject("Scripting.Dictionary")
    Set fnNmDict = CreateObject("Scripting.Dictionary")
    ReDim fnList(1 To keyCount)   ' 最大でkeyCount個
    fnCount = 0

    For r = 1 To keyCount
        parts = Split(keyList(r), SEP)
        keyVal = parts(0)
        cmnt = ""
        If UBound(parts) >= 1 Then cmnt = parts(1)

        ' ★ output2 専用：キー値トリム処理
        If FNAME_TRIM_PREFIX &lt;> "" Then
            If Left(keyVal, Len(FNAME_TRIM_PREFIX)) = FNAME_TRIM_PREFIX Then
                keyVal = Mid(keyVal, Len(FNAME_TRIM_PREFIX) + 1)
            End If
        End If
        If FNAME_TRIM_SUFFIX &lt;> "" Then
            If Right(keyVal, Len(FNAME_TRIM_SUFFIX)) = FNAME_TRIM_SUFFIX Then
                keyVal = Left(keyVal, Len(keyVal) - Len(FNAME_TRIM_SUFFIX))
            End If
        End If

        ' ★ 範囲フィルタ
        Dim inRange As Boolean
        inRange = True
        If OUT2_KEY_FROM &lt;> "" Then
            If keyVal &lt; OUT2_KEY_FROM Then inRange = False
        End If
        If OUT2_KEY_TO &lt;> "" Then
            If keyVal > OUT2_KEY_TO Then inRange = False
        End If

        If inRange Then

            ' --- 全ソースに存在するか判定 ---
            Dim allOK    As Boolean
            Dim presList As String
            Dim sName    As String
            allOK = True
            presList = ""

            Set cRef = crossRef(keyList(r))
            For i = 1 To nFiles
                If cRef.Exists(srcNames(i)) Then
                    sName = srcNames(i)
                    If FNAME_TRIM_PREFIX &lt;> "" Then
                        If Left(sName, Len(FNAME_TRIM_PREFIX)) = FNAME_TRIM_PREFIX Then
                            sName = Mid(sName, Len(FNAME_TRIM_PREFIX) + 1)
                        End If
                    End If
                    If FNAME_TRIM_SUFFIX &lt;> "" Then
                        If Right(sName, Len(FNAME_TRIM_SUFFIX)) = FNAME_TRIM_SUFFIX Then
                            sName = Left(sName, Len(sName) - Len(FNAME_TRIM_SUFFIX))
                        End If
                    End If
                    If presList &lt;> "" Then presList = presList &amp; ","
                    presList = presList &amp; sName
                Else
                    allOK = False
                End If
            Next i

            ' --- メモ文字列生成 ---
            Dim entry As String
            Dim dispCmnt As String
            If cmnt &lt;> "" Then
                dispCmnt = cmnt
            Else
                dispCmnt = "＿"
            End If

            If allOK Then
                entry = dispCmnt
            Else
                entry = dispCmnt &amp; presList &amp; NOMI
            End If

            ' --- 同じキー値のエントリを結合 ---
            If Not fnDict.Exists(keyVal) Then
                fnDict(keyVal) = entry
                fnCount = fnCount + 1
                fnList(fnCount) = keyVal

                ' ★ no(T列), name(Z列) を rowDict から取得（初回出現時）
                rowData = rowDict(keyList(r))
                fnNoDict(keyVal) = CStr(rowData(OUT2_COL_NO) &amp; "")
                fnNmDict(keyVal) = CStr(rowData(OUT2_COL_NAME) &amp; "")
            Else
                If entry &lt;> "" Then
                    If fnDict(keyVal) &lt;> "" Then
                        fnDict(keyVal) = fnDict(keyVal) &amp; "  " &amp; entry
                    Else
                        fnDict(keyVal) = entry
                    End If
                End If
            End If

        End If  ' inRange
    Next r

    ' --- 配列に詰めて一括書き込み（3列: no, name, 備考） ---
    If fnCount > 0 Then
        Dim out2() As Variant
        ReDim out2(1 To fnCount + 1, 1 To 3)
        out2(1, 1) = HDR_NO
        out2(1, 2) = HDR_NAME
        out2(1, 3) = HDR_MEMO

        For r = 1 To fnCount
            out2(r + 1, 1) = fnNoDict(fnList(r))
            out2(r + 1, 2) = fnNmDict(fnList(r))
            out2(r + 1, 3) = fnDict(fnList(r))
        Next r

        ws2.Range(ws2.Cells(1, 1), ws2.Cells(fnCount + 1, 3)).Value = out2
    End If


    ' ==========================================================
    '  完了メッセージ
    ' ==========================================================
    MsgBox "完了しました！" &amp; vbCrLf &amp; _
           "フォルダ: " &amp; folderPath &amp; vbCrLf &amp; _
           "ソース: " &amp; nFiles &amp; " ファイル" &amp; vbCrLf &amp; _
           "output1: " &amp; keyCount &amp; " 行" &amp; vbCrLf &amp; _
           "output2: " &amp; fnCount &amp; " 行", vbInformation


Cleanup:
    ' ----------------------------------------------------------
    '  画面更新・再計算・イベントを復元
    ' ----------------------------------------------------------
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
    Exit Sub


ErrHandler:
    ' ----------------------------------------------------------
    '  予期しないエラーのハンドリング
    ' ----------------------------------------------------------
    MsgBox "エラーが発生しました: " &amp; Err.Description &amp; vbCrLf &amp; _
           "パス: " &amp; folderPath, vbCritical
    Resume Cleanup

End Sub

</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9">Option</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Explicit</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ===========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  処理A : 部品リスト集約マク</span><span style="color: #D8DEE9">ロ</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  ───────────────────────────────────────────────────────────</span><span style="color: #D8DEE9">─</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  ・settingシートで指定したソースファイル(import/)を読み込み</span><span style="color: #D8DEE9">、</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">    output1 に〇クロスリファレンス表（ソース全列）</span><span style="color: #D8DEE9">、</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">    output2 にキーごとのメモ集約表を出力する</span><span style="color: #D8DEE9">。</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  ・配列一括 Read/Write ＋ シェルソートで高速処</span><span style="color: #D8DEE9">理</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ===========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9">Sub</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">RunAggregate</span><span style="color: #D8DEE9FF">()</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  定数定義：読み込み元（ソースファイル）の列番</span><span style="color: #D8DEE9">号</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  ソースの列範囲は A(1)～CN(92</span><span style="color: #D8DEE9">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_COL_KEY</span><span style="color: #D8DEE9FF">   </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">11</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> K列  : キー（集約キー</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_COL_CMNT</span><span style="color: #D8DEE9FF">  </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">27</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> AA列 : コメン</span><span style="color: #D8DEE9">ト</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_LAST_COL</span><span style="color: #D8DEE9FF">  </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">92</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> CN列 : データ最終</span><span style="color: #D8DEE9">列</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_START_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">5</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> データ開始行（4行目はヘッダ</span><span style="color: #D8DEE9">）</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  定数定義：出力先（output1）の列番号・行番</span><span style="color: #D8DEE9">号</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_COL_KEY</span><span style="color: #D8DEE9FF">   </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">11</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> K列  : キー表示位</span><span style="color: #D8DEE9">置</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_COL_WORK</span><span style="color: #D8DEE9FF">  </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">27</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> AA列 : 作業（コメント</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_COL_N</span><span style="color: #D8DEE9FF">     </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> B列  : n列の開始位</span><span style="color: #D8DEE9">置</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_HDR_ROW</span><span style="color: #D8DEE9FF">   </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ヘッダ行（B4～I4 に n1,n2,...</span><span style="color: #D8DEE9">）</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  定数定義：出力先（output2）の列番</span><span style="color: #D8DEE9">号</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  1列目=no(T列), 2列目=name(Z列), 3列目=備</span><span style="color: #D8DEE9">考</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT2_COL_NO</span><span style="color: #D8DEE9FF">   </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">20</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> T列  : no（ソースのT列から取得</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT2_COL_NAME</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">26</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> Z列  : name（ソースのZ列から取得</span><span style="color: #D8DEE9">）</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  定数定義：settingシートの巡回範</span><span style="color: #D8DEE9">囲</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">START_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ファイルリスト開始</span><span style="color: #D8DEE9">行</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">END_ROW</span><span style="color: #D8DEE9FF">   </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">10</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ファイルリスト終了</span><span style="color: #D8DEE9">行</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  定数定義：ファイル名トリム（output2 専用</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  output2 出力時のみ、キー値の先頭・末尾を除去する</span><span style="color: #D8DEE9">。</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  output1 には影響しない</span><span style="color: #D8DEE9">。</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  不要なら &quot;&quot; にすればスキップされる</span><span style="color: #D8DEE9">。</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_PREFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 先頭から除去する文字</span><span style="color: #D8DEE9">列</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_SUFFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 末尾から除去する文字</span><span style="color: #D8DEE9">列</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  定数定義：output2 キー範囲フィル</span><span style="color: #D8DEE9">タ</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  output2 に出力するキーの範囲を指定する</span><span style="color: #D8DEE9">。</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  文字列比較（昇順）で FROM ≦ キー ≦ TO の行のみ出力</span><span style="color: #D8DEE9">。</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  空文字 &quot;&quot; なら制限なし（全キー出力）</span><span style="color: #D8DEE9">。</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  例: &quot;A00-0000&quot; ～ &quot;B99-9999&quot; → A～B で始まるキーの</span><span style="color: #D8DEE9">み</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT2_KEY_FROM</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 開始キー（空なら制限なし</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT2_KEY_TO</span><span style="color: #D8DEE9FF">   </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 終了キー（空なら制限なし</span><span style="color: #D8DEE9">）</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  定数定義：ソートキー（最大5段階</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  出力の並び順を制御する。列番号を指定（0 = 使わない）</span><span style="color: #D8DEE9">。</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  例: K列(11)→O列(15)→N列(14) の順でソー</span><span style="color: #D8DEE9">ト</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">11</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 第1キー: K</span><span style="color: #D8DEE9">列</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_2</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">15</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 第2キー: O</span><span style="color: #D8DEE9">列</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_3</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">14</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 第3キー: N</span><span style="color: #D8DEE9">列</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_4</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 第4キー: な</span><span style="color: #D8DEE9">し</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_5</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 第5キー: な</span><span style="color: #D8DEE9">し</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  定数定義：区切り文字・日本語ラベ</span><span style="color: #D8DEE9">ル</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SEP</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">|</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">MARU</span><span style="color: #D8DEE9FF">      </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">〇</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">NOMI</span><span style="color: #D8DEE9FF">      </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">のみ</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">HDR_KEY</span><span style="color: #D8DEE9FF">   </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">キー</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">HDR_WORK</span><span style="color: #D8DEE9FF">  </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">作業</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">HDR_NO</span><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">no</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">HDR_NAME</span><span style="color: #D8DEE9FF">  </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">name</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">HDR_MEMO</span><span style="color: #D8DEE9FF">  </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">備考</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  変数宣</span><span style="color: #D8DEE9">言</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">folderPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">srcFiles</span><span style="color: #D8DEE9FF">() </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">srcNames</span><span style="color: #D8DEE9FF">() </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">nFiles</span><span style="color: #D8DEE9FF">     </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">          </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">          </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">          </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ---------------------------------------------------------</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  画面更新・再計算・イベントを一時停止（高速化</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ---------------------------------------------------------</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">ScreenUpdating</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Calculation</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">xlCalculationManual</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">EnableEvents</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ErrHandler</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.FileSystemObject</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  1. settingシート読み込み（必須</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">wsSetting</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Worksheet</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Resume</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Next</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">wsSetting</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ThisWorkbook</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Sheets</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">setting</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ErrHandler</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- settingシートが無ければエラー終了 --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">wsSetting</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Is</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Nothing</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">エラー: &#39;setting&#39; シートが見つかりません。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">               </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">settingシートを作成してください。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCritical</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Cleanup</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- C1 からベースフォルダパスを取得 --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">baseFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">baseFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Trim</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">wsSetting</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">baseFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Right</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">baseFolder</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #EBCB8B">\&quot;</span><span style="color: #A3BE8C"> Then baseFolder = baseFolder &amp; </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">\</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #A3BE8C">        If Not fso.FolderExists(baseFolder) The</span><span style="color: #D8DEE9">n</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">エラー: ベースフォルダが見つかりません:</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">                   </span><span style="color: #D8DEE9">baseFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">                   </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">settingシートのC1を確認してください。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCritical</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Cleanup</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">folderPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">baseFolder</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">エラー: フォルダパスが取得できません。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">               </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">settingシートのC1にベースフォルダパスを設定してください。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCritical</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Cleanup</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  2. settingシートからファイルリストを取</span><span style="color: #D8DEE9">得</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     （C列 START_ROW～END_ROW を巡回</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">wsSetting</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">START_ROW</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">エラー: ファイルが設定されていません。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">               </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">settingシートのC</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">START_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">以降にファイル名を入力してください。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCritical</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Cleanup</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- 配列を事前確保（最大ファイル数 = END_ROW - START_ROW + 1） --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">maxFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">maxFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">END_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">START_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">srcFiles</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">maxFiles</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">srcNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">maxFiles</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">nFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">si</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sj</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">st</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cellVal</span><span style="color: #D8DEE9FF">     </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fullPath</span><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">missingFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">missingFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">START_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">END_ROW</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">cellVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Trim</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">wsSetting</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cellVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">InStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">cellVal</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #EBCB8B">\&quot;</span><span style="color: #A3BE8C">) &gt; 0 Or InStr(cellVal, </span><span style="color: #ECEFF4">&quot;</span><span style="color: #81A1C1">/</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">) &gt; 0 The</span><span style="color: #D8DEE9">n</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">fullPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cellVal</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">fullPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">folderPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cellVal</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Not</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">FileExists</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">fullPath</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">missingFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">missingFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">  行 </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cellVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">nFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">nFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">srcFiles</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">nFiles</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fullPath</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dispName</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">dispName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Trim</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">wsSetting</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dispName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">bName</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">bName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">GetFileName</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">fullPath</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">InStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">bName</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">_n</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">nm</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">nm</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Mid</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">bName</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">InStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">bName</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">_n</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">dispName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">n</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Left</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">nm</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">nm</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">5</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">dispName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Left</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">bName</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">bName</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">5</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">srcNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">nFiles</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dispName</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">missingFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">エラー: 以下のファイルが見つかりません:</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">               </span><span style="color: #D8DEE9">missingFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">               </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">ベースフォルダ: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">folderPath</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCritical</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Cleanup</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">nFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">エラー: 有効なファイルがありません。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCritical</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Cleanup</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  3. 全ソースファイル読み込み → Dictionaryに格</span><span style="color: #D8DEE9">納</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     key = &quot;K列値|コメント</span><span style="color: #D8DEE9">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     value = Dictionary (ソース名 → True</span><span style="color: #D8DEE9">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     ※ K列に値がある行を全て対象とする（〇フィルタなし</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">crossRef</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span><span style="color: #D8DEE9FF">           </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 全キーのクロスリファレン</span><span style="color: #D8DEE9">ス</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">crossRef</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.Dictionary</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- ソート用：各compKeyのソートキー値を保持 --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sortDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sortDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.Dictionary</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- output1用：各compKeyの全列データを保持（初回出現時） --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">rowDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">rowDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.Dictionary</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- output1用：ソースのヘッダ行（最初のファイルから取得） --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">hdrRow</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">hdrRow</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Empty</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- キーリスト：事前確保して後で切り詰め --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">INIT_KEYS</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1024</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">() </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">INIT_KEYS</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">srcWb</span><span style="color: #D8DEE9FF">   </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Workbook</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">data</span><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">lastRow</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">  </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cmnt</span><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">compKey</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- 共有ドライブ高速化：ローカルTEMPにコピーしてから読む --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tempDir</span><span style="color: #D8DEE9FF">  </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tempPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">tempDir</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Environ</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">TEMP</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Right</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">tempDir</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #EBCB8B">\&quot;</span><span style="color: #A3BE8C"> Then tempDir = tempDir &amp; </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">\</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A3BE8C">    For i = 1 To nFile</span><span style="color: #D8DEE9">s</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ★ ネットワークファイルをローカルにコピー（一括転送で高速</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">tempPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tempDir</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">GetFileName</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">srcFiles</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Resume</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Next</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">CopyFile</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">srcFiles</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tempPath</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ErrHandler</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ローカルコピーがあればそちらを開く、なければ元パスを開</span><span style="color: #D8DEE9">く</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">openPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">FileExists</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">tempPath</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">openPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tempPath</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">openPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">srcFiles</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">srcWb</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Workbooks</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Open</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">openPath</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ReadOnly</span><span style="color: #D8DEE9FF">:</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">True</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">UpdateLinks</span><span style="color: #D8DEE9FF">:</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">With</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">srcWb</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Sheets</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">lastRow</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Rows</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Count</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_COL_KEY</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">End</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">xlUp</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Row</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">lastRow</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_START_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- ヘッダ行を最初のファイルから取得（1行前 = 4行目） --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">IsEmpty</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">hdrRow</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">hdrRow</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Range</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">SRC_START_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">                                    </span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">SRC_START_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_LAST_COL</span><span style="color: #D8DEE9FF">))</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- A列～CN列 を配列に一括読み込み --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">data</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Range</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">SRC_START_ROW</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">lastRow</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_LAST_COL</span><span style="color: #D8DEE9FF">))</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">UBound</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">data</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Trim</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_COL_KEY</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">IsEmpty</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_COL_CMNT</span><span style="color: #D8DEE9FF">)) </span><span style="color: #D8DEE9">Or</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">                           </span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_COL_CMNT</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">cmnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">cmnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_COL_CMNT</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">compKey</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SEP</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cmnt</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Not</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">crossRef</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Exists</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">compKey</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">crossRef</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">compKey</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.Dictionary</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 配列が足りなければ倍に拡</span><span style="color: #D8DEE9">張</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">UBound</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyList</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                                </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Preserve</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">UBound</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyList</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">*</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">compKey</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ★ 全列データを保持（初回出現時の値を使用</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">rv</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">rv</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_LAST_COL</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_LAST_COL</span></span>
<span class="line"><span style="color: #D8DEE9FF">                                </span><span style="color: #88C0D0">rv</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #88C0D0">rowDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">compKey</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">rv</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ★ ソート用の値を保</span><span style="color: #D8DEE9">持</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sv</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">sv</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Array</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_1</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sv</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sv</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_2</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_3</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sv</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_3</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_4</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sv</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_4</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_5</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sv</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_5</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #88C0D0">sortDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">compKey</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sv</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #88C0D0">crossRef</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">compKey</span><span style="color: #D8DEE9FF">)(</span><span style="color: #88C0D0">srcNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">)) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">With</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">srcWb</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Close</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ★ TEMPのコピーを削除（後片付け</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Resume</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Next</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">FileExists</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">tempPath</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">DeleteFile</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tempPath</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ErrHandler</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">データが見つかりませんでした。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbExclamation</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Cleanup</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- keyList を実サイズに切り詰め --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">UBound</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyList</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Preserve</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  4. シェルソート（SORT_KEY_1～5 の多段比較</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     バブルソート O(n^2) からシェルソート O(n^1.3) に高速</span><span style="color: #D8DEE9">化</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">va</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vb</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sk</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">needSwap</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Boolean</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gap</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gi</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gj</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tmp</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">gap</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> \ </span><span style="color: #B48EAD">2</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Do</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">While</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gap</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gi</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gap</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">tmp</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">gi</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tmpSort</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">tmpSort</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sortDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">tmp</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">gj</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gi</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Do</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">While</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gj</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gap</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">vb</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sortDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">gj</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gap</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">needSwap</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sk</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">vb</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">sk</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">tmpSort</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">sk</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">needSwap</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> (</span><span style="color: #88C0D0">vb</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">sk</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">tmpSort</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">sk</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">For</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sk</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Not</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">needSwap</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Do</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">gj</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">gj</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gap</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">gj</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gj</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gap</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Loop</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">gj</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tmp</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gi</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">gap</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gap</span><span style="color: #D8DEE9FF"> \ </span><span style="color: #B48EAD">2</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Loop</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  5. output1 : クロスリファレンス表を出</span><span style="color: #D8DEE9">力</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     ソース全列(A～CN)のデータを表示し</span><span style="color: #D8DEE9">、</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     B～I列のみ n1～n8 の〇マークで上書きする</span><span style="color: #D8DEE9">。</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Worksheet</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws1</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ThisWorkbook</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Sheets</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">output1</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ws1</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Cells</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Clear</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">out1</span><span style="color: #D8DEE9FF">() </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">outCols</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">outCols</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_LAST_COL</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">out1</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">outCols</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- ヘッダ行：ソースのヘッダをコピーし、B～I列のみ上書き --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">parts</span><span style="color: #D8DEE9FF">() </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Not</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">IsEmpty</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">hdrRow</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">outCols</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #88C0D0">out1</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">hdrRow</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">nFiles</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">out1</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_COL_N</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">srcNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- データ行：全列データをコピーし、B～I列のみ〇で上書き --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">rowData</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cRef</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">rowData</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">rowDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">outCols</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #88C0D0">out1</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">rowData</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> B～I列を〇で上書き（Dictionary参照を変数にキャッシュ</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cRef</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">crossRef</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">nFiles</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cRef</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Exists</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">srcNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">)) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">out1</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_COL_N</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">MARU</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">out1</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_COL_N</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ws1</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Range</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ws1</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">OUT_HDR_ROW</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">              </span><span style="color: #D8DEE9">ws1</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">OUT_HDR_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">outCols</span><span style="color: #D8DEE9FF">))</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">out1</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- B4～I4（n列ヘッダ）を縦書き表示にする --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">lastNCol</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">lastNCol</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_COL_N</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">nFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">lastNCol</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">9</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">lastNCol</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">9</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">lastNCol</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_COL_N</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">ws1</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Range</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ws1</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">OUT_HDR_ROW</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_COL_N</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">                  </span><span style="color: #D8DEE9">ws1</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">OUT_HDR_ROW</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">lastNCol</span><span style="color: #D8DEE9FF">))</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Orientation</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- out1 配列を解放（メモリ節約） --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Erase</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">out1</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  6. output2 : キーごとのメモ集約表を出</span><span style="color: #D8DEE9">力</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     1列目: no（ソースのT列</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     2列目: name（ソースのZ列</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     3列目: 備考（コメント集約</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     ※ OUT2_KEY_FROM / OUT2_KEY_TO で範囲フィルタ可</span><span style="color: #D8DEE9">能</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws2</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Worksheet</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ThisWorkbook</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Sheets</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">output2</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ws2</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Cells</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Clear</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- キーごとにコメント・no・nameを集約する Dictionary --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnDict</span><span style="color: #D8DEE9FF">   </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> キー値 → 結合メモ文字</span><span style="color: #D8DEE9">列</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnNoDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> キー値 → no（初回出現時のT列値</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnNmDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> キー値 → name（初回出現時のZ列値</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fnList</span><span style="color: #D8DEE9FF">() </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 出現順のキーリス</span><span style="color: #D8DEE9">ト</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnCount</span><span style="color: #D8DEE9FF">  </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.Dictionary</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnNoDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.Dictionary</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnNmDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.Dictionary</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fnList</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF">)   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 最大でkeyCount</span><span style="color: #D8DEE9">個</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">fnCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">parts</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Split</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SEP</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">parts</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">cmnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">UBound</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">parts</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&gt;=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cmnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">parts</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ★ output2 専用：キー値トリム処</span><span style="color: #D8DEE9">理</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_PREFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Left</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">FNAME_TRIM_PREFIX</span><span style="color: #D8DEE9FF">)) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_PREFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Mid</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">FNAME_TRIM_PREFIX</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_SUFFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Right</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">FNAME_TRIM_SUFFIX</span><span style="color: #D8DEE9FF">)) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_SUFFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Left</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">FNAME_TRIM_SUFFIX</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ★ 範囲フィル</span><span style="color: #D8DEE9">タ</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">inRange</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Boolean</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">inRange</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT2_KEY_FROM</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT2_KEY_FROM</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">inRange</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT2_KEY_TO</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT2_KEY_TO</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">inRange</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">inRange</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- 全ソースに存在するか判定 --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">allOK</span><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Boolean</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">presList</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sName</span><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">allOK</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">presList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cRef</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">crossRef</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">nFiles</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cRef</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Exists</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">srcNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">)) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">sName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">srcNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_PREFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Left</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">sName</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">FNAME_TRIM_PREFIX</span><span style="color: #D8DEE9FF">)) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_PREFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">sName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Mid</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">sName</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">FNAME_TRIM_PREFIX</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_SUFFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Right</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">sName</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">FNAME_TRIM_SUFFIX</span><span style="color: #D8DEE9FF">)) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_SUFFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">sName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Left</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">sName</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">sName</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">FNAME_TRIM_SUFFIX</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">presList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">presList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">presList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">,</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">presList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">presList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sName</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">allOK</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- メモ文字列生成 --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">entry</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dispCmnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cmnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">dispCmnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cmnt</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">dispCmnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">＿</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">allOK</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">entry</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dispCmnt</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">entry</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dispCmnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">presList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">NOMI</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- 同じキー値のエントリを結合 --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Not</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnDict</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Exists</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">fnDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">entry</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">fnCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">fnList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">fnCount</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyVal</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ★ no(T列), name(Z列) を rowDict から取得（初回出現時</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">rowData</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">rowDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">fnNoDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">rowData</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">OUT2_COL_NO</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">fnNmDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">rowData</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">OUT2_COL_NAME</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">entry</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fnDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #88C0D0">fnDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fnDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">  </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">entry</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #88C0D0">fnDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">entry</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> inRang</span><span style="color: #D8DEE9">e</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- 配列に詰めて一括書き込み（3列: no, name, 備考） --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">out2</span><span style="color: #D8DEE9FF">() </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">out2</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">out2</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">HDR_NO</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">out2</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">HDR_NAME</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">out2</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">HDR_MEMO</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnCount</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #88C0D0">out2</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fnNoDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">fnList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #88C0D0">out2</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fnNmDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">fnList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #88C0D0">out2</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fnDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">fnList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">ws2</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Range</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ws2</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws2</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">fnCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF">))</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">out2</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  完了メッセー</span><span style="color: #D8DEE9">ジ</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">完了しました！</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">           </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">フォルダ: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">folderPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">           </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">ソース: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">nFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C"> ファイル</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">           </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">output1: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C"> 行</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">           </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">output2: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C"> 行</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbInformation</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9">Cleanup</span><span style="color: #D8DEE9FF">:</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ---------------------------------------------------------</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  画面更新・再計算・イベントを復</span><span style="color: #D8DEE9">元</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ---------------------------------------------------------</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">ScreenUpdating</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Calculation</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">xlCalculationAutomatic</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">EnableEvents</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9">ErrHandler</span><span style="color: #D8DEE9FF">:</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ---------------------------------------------------------</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  予期しないエラーのハンドリン</span><span style="color: #D8DEE9">グ</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ---------------------------------------------------------</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">エラーが発生しました: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Err</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Description</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">           </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">パス: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">folderPath</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCritical</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Resume</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Cleanup</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span></span>
<span class="line"></span>
<span class="line"></span></code></pre></div>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>Option Explicit

' ============================================================
'  処理A : 部品リスト集約マクロ
'  ────────────────────────────────────────────────────────────
'  ・settingシートで指定したソースファイル(import/)を読み込み、
'    output1 に〇クロスリファレンス表（ソース全列）、
'    output2 にキーごとのメモ集約表を出力する。
'  ・配列一括 Read/Write ＋ シェルソートで高速処理
' ============================================================


Sub RunAggregate()

    ' ==========================================================
    '  定数定義：読み込み元（ソースファイル）の列番号
    '  ソースの列範囲は A(1)～CN(92)
    ' ==========================================================
    Const SRC_COL_KEY   As Long = 11  ' K列  : キー（集約キー）
    Const SRC_COL_CMNT  As Long = 27  ' AA列 : コメント
    Const SRC_LAST_COL  As Long = 92  ' CN列 : データ最終列
    Const SRC_START_ROW As Long = 5   ' データ開始行（4行目はヘッダ）

    ' ==========================================================
    '  定数定義：出力先（output1）の列番号・行番号
    ' ==========================================================
    Const OUT_COL_KEY   As Long = 11  ' K列  : キー表示位置
    Const OUT_COL_WORK  As Long = 27  ' AA列 : 作業（コメント）
    Const OUT_COL_N     As Long = 2   ' B列  : n列の開始位置
    Const OUT_HDR_ROW   As Long = 4   ' ヘッダ行（B4～I4 に n1,n2,...）

    ' ==========================================================
    '  定数定義：出力先（output2）の列番号
    '  1列目=キー(K列), 2列目=no(T列), 3列目=name(Z列), 4列目=備考
    ' ==========================================================
    Const OUT2_COL_NO   As Long = 20  ' T列  : no（ソースのT列から取得）
    Const OUT2_COL_NAME As Long = 26  ' Z列  : name（ソースのZ列から取得）

    ' ==========================================================
    '  定数定義：settingシートの巡回範囲
    ' ==========================================================
    Const START_ROW As Long = 2   ' ファイルリスト開始行
    Const END_ROW   As Long = 10  ' ファイルリスト終了行

    ' ==========================================================
    '  定数定義：ファイル名トリム（output2 専用）
    '  output2 出力時のみ、キー値の先頭・末尾を除去する。
    '  output1 には影響しない。
    '  不要なら "" にすればスキップされる。
    ' ==========================================================
    Const FNAME_TRIM_PREFIX As String = ""   ' 先頭から除去する文字列
    Const FNAME_TRIM_SUFFIX As String = ""   ' 末尾から除去する文字列

    ' ==========================================================
    '  定数定義：output2 キー範囲フィルタ
    '  output2 に出力するキーの範囲を指定する。
    '  文字列比較（昇順）で FROM ≦ キー ≦ TO の行のみ出力。
    '  空文字 "" なら制限なし（全キー出力）。
    '  例: "A00-0000" ～ "B99-9999" → A～B で始まるキーのみ
    ' ==========================================================
    Const OUT2_KEY_FROM As String = ""   ' 開始キー（空なら制限なし）
    Const OUT2_KEY_TO   As String = ""   ' 終了キー（空なら制限なし）

    ' ==========================================================
    '  定数定義：ソートキー（最大5段階）
    '  出力の並び順を制御する。列番号を指定（0 = 使わない）。
    '  例: K列(11)→O列(15)→N列(14) の順でソート
    ' ==========================================================
    Const SORT_KEY_1 As Long = 11   ' 第1キー: K列
    Const SORT_KEY_2 As Long = 15   ' 第2キー: O列
    Const SORT_KEY_3 As Long = 14   ' 第3キー: N列
    Const SORT_KEY_4 As Long = 0    ' 第4キー: なし
    Const SORT_KEY_5 As Long = 0    ' 第5キー: なし

    ' ==========================================================
    '  定数定義：区切り文字・日本語ラベル
    ' ==========================================================
    Const SEP As String = "|"

    Const MARU      As String = "〇"
    Const NOMI      As String = "のみ"
    Const HDR_KEY   As String = "キー"
    Const HDR_WORK  As String = "作業"
    Const HDR_NO    As String = "no"
    Const HDR_NAME  As String = "name"
    Const HDR_MEMO  As String = "備考"

    ' ==========================================================
    '  変数宣言
    ' ==========================================================
    Dim fso        As Object
    Dim folderPath As String
    Dim srcFiles() As String
    Dim srcNames() As String
    Dim nFiles     As Long
    Dim i          As Long
    Dim r          As Long
    Dim c          As Long

    ' ----------------------------------------------------------
    '  画面更新・再計算・イベントを一時停止（高速化）
    ' ----------------------------------------------------------
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
    On Error GoTo ErrHandler

    Set fso = CreateObject("Scripting.FileSystemObject")


    ' ==========================================================
    '  1. settingシート読み込み（必須）
    ' ==========================================================
    Dim wsSetting As Worksheet

    On Error Resume Next
    Set wsSetting = ThisWorkbook.Sheets("setting")
    On Error GoTo ErrHandler

    ' --- settingシートが無ければエラー終了 ---
    If wsSetting Is Nothing Then
        MsgBox "エラー: 'setting' シートが見つかりません。" &amp; vbCrLf &amp; _
               "settingシートを作成してください。", vbCritical
        GoTo Cleanup
    End If

    ' --- C1 からベースフォルダパスを取得 ---
    Dim baseFolder As String
    baseFolder = Trim(CStr(wsSetting.Cells(1, 3).Value &amp; ""))

    If baseFolder &lt;> "" Then
        If Right(baseFolder, 1) &lt;> "\" Then baseFolder = baseFolder &amp; "\"
        If Not fso.FolderExists(baseFolder) Then
            MsgBox "エラー: ベースフォルダが見つかりません:" &amp; vbCrLf &amp; _
                   baseFolder &amp; vbCrLf &amp; vbCrLf &amp; _
                   "settingシートのC1を確認してください。", vbCritical
            GoTo Cleanup
        End If
        folderPath = baseFolder
    Else
        MsgBox "エラー: フォルダパスが取得できません。" &amp; vbCrLf &amp; _
               "settingシートのC1にベースフォルダパスを設定してください。", vbCritical
        GoTo Cleanup
    End If


    ' ==========================================================
    '  2. settingシートからファイルリストを取得
    '     （C列 START_ROW～END_ROW を巡回）
    ' ==========================================================
    If wsSetting.Cells(START_ROW, 3).Value = "" Then
        MsgBox "エラー: ファイルが設定されていません。" &amp; vbCrLf &amp; _
               "settingシートのC" &amp; START_ROW &amp; "以降にファイル名を入力してください。", vbCritical
        GoTo Cleanup
    End If

    ' --- 配列を事前確保（最大ファイル数 = END_ROW - START_ROW + 1） ---
    Dim maxFiles As Long
    maxFiles = END_ROW - START_ROW + 1
    ReDim srcFiles(1 To maxFiles)
    ReDim srcNames(1 To maxFiles)

    nFiles = 0
    Dim si As Long, sj As Long, st As String
    Dim cellVal     As String
    Dim fullPath    As String
    Dim missingFiles As String
    missingFiles = ""

    For r = START_ROW To END_ROW
        cellVal = Trim(CStr(wsSetting.Cells(r, 3).Value &amp; ""))

        If cellVal &lt;> "" Then
            If InStr(cellVal, "\") > 0 Or InStr(cellVal, "/") > 0 Then
                fullPath = cellVal
            Else
                fullPath = folderPath &amp; cellVal
            End If

            If Not fso.FileExists(fullPath) Then
                missingFiles = missingFiles &amp; "  行 " &amp; r &amp; ": " &amp; cellVal &amp; vbCrLf
            Else
                nFiles = nFiles + 1
                srcFiles(nFiles) = fullPath

                Dim dispName As String
                dispName = Trim(CStr(wsSetting.Cells(r, 2).Value &amp; ""))
                If dispName = "" Then
                    Dim bName As String
                    bName = fso.GetFileName(fullPath)
                    If InStr(bName, "_n") > 0 Then
                        Dim nm As String
                        nm = Mid(bName, InStr(bName, "_n") + 2)
                        dispName = "n" &amp; Left(nm, Len(nm) - 5)
                    Else
                        dispName = Left(bName, Len(bName) - 5)
                    End If
                End If
                srcNames(nFiles) = dispName
            End If
        End If
    Next r

    If missingFiles &lt;> "" Then
        MsgBox "エラー: 以下のファイルが見つかりません:" &amp; vbCrLf &amp; vbCrLf &amp; _
               missingFiles &amp; vbCrLf &amp; _
               "ベースフォルダ: " &amp; folderPath, vbCritical
        GoTo Cleanup
    End If

    If nFiles = 0 Then
        MsgBox "エラー: 有効なファイルがありません。", vbCritical
        GoTo Cleanup
    End If


    ' ==========================================================
    '  3. 全ソースファイル読み込み → Dictionaryに格納
    '     key = "K列値|コメント"
    '     value = Dictionary (ソース名 → True)
    '     ※ K列に値がある行を全て対象とする（〇フィルタなし）
    ' ==========================================================
    Dim crossRef As Object           ' 全キーのクロスリファレンス
    Set crossRef = CreateObject("Scripting.Dictionary")

    ' --- ソート用：各compKeyのソートキー値を保持 ---
    Dim sortDict As Object
    Set sortDict = CreateObject("Scripting.Dictionary")

    ' --- output1用：各compKeyの全列データを保持（初回出現時） ---
    Dim rowDict As Object
    Set rowDict = CreateObject("Scripting.Dictionary")

    ' --- output1用：ソースのヘッダ行（最初のファイルから取得） ---
    Dim hdrRow As Variant
    hdrRow = Empty

    ' --- キーリスト：事前確保して後で切り詰め ---
    Const INIT_KEYS As Long = 1024
    Dim keyList() As String
    Dim keyCount As Long
    ReDim keyList(1 To INIT_KEYS)
    keyCount = 0

    Dim srcWb   As Workbook
    Dim data    As Variant
    Dim lastRow As Long
    Dim keyVal  As String
    Dim cmnt    As String
    Dim compKey As String

    ' --- 共有ドライブ高速化：ローカルTEMPにコピーしてから読む ---
    Dim tempDir  As String
    Dim tempPath As String
    tempDir = Environ("TEMP")
    If Right(tempDir, 1) &lt;> "\" Then tempDir = tempDir &amp; "\"

    For i = 1 To nFiles

        ' ★ ネットワークファイルをローカルにコピー（一括転送で高速）
        tempPath = tempDir &amp; fso.GetFileName(srcFiles(i))
        On Error Resume Next
        fso.CopyFile srcFiles(i), tempPath, True
        On Error GoTo ErrHandler

        ' ローカルコピーがあればそちらを開く、なければ元パスを開く
        Dim openPath As String
        If fso.FileExists(tempPath) Then
            openPath = tempPath
        Else
            openPath = srcFiles(i)
        End If

        Set srcWb = Workbooks.Open(openPath, ReadOnly:=True, UpdateLinks:=0)

        With srcWb.Sheets(1)
            lastRow = .Cells(.Rows.Count, SRC_COL_KEY).End(xlUp).Row

            If lastRow >= SRC_START_ROW Then

                ' --- ヘッダ行を最初のファイルから取得（1行前 = 4行目） ---
                If IsEmpty(hdrRow) Then
                    hdrRow = .Range(.Cells(SRC_START_ROW - 1, 1), _
                                    .Cells(SRC_START_ROW - 1, SRC_LAST_COL)).Value
                End If

                ' --- A列～CN列 を配列に一括読み込み ---
                data = .Range(.Cells(SRC_START_ROW, 1), .Cells(lastRow, SRC_LAST_COL)).Value

                For r = 1 To UBound(data, 1)

                    keyVal = Trim(CStr(data(r, SRC_COL_KEY) &amp; ""))

                    If keyVal &lt;> "" Then

                        If IsEmpty(data(r, SRC_COL_CMNT)) Or _
                           CStr(data(r, SRC_COL_CMNT) &amp; "") = "" Then
                            cmnt = ""
                        Else
                            cmnt = CStr(data(r, SRC_COL_CMNT))
                        End If

                        compKey = keyVal &amp; SEP &amp; cmnt

                        If Not crossRef.Exists(compKey) Then
                            Set crossRef(compKey) = CreateObject("Scripting.Dictionary")
                            keyCount = keyCount + 1

                            ' 配列が足りなければ倍に拡張
                            If keyCount > UBound(keyList) Then
                                ReDim Preserve keyList(1 To UBound(keyList) * 2)
                            End If
                            keyList(keyCount) = compKey

                            ' ★ 全列データを保持（初回出現時の値を使用）
                            Dim rv As Variant
                            ReDim rv(1 To SRC_LAST_COL)
                            For c = 1 To SRC_LAST_COL
                                rv(c) = data(r, c)
                            Next c
                            rowDict(compKey) = rv

                            ' ★ ソート用の値を保持
                            Dim sv As Variant
                            sv = Array("", "", "", "", "")
                            If SORT_KEY_1 > 0 Then sv(0) = CStr(data(r, SORT_KEY_1) &amp; "")
                            If SORT_KEY_2 > 0 Then sv(1) = CStr(data(r, SORT_KEY_2) &amp; "")
                            If SORT_KEY_3 > 0 Then sv(2) = CStr(data(r, SORT_KEY_3) &amp; "")
                            If SORT_KEY_4 > 0 Then sv(3) = CStr(data(r, SORT_KEY_4) &amp; "")
                            If SORT_KEY_5 > 0 Then sv(4) = CStr(data(r, SORT_KEY_5) &amp; "")
                            sortDict(compKey) = sv
                        End If

                        crossRef(compKey)(srcNames(i)) = True
                    End If
                Next r
            End If
        End With

        srcWb.Close False

        ' ★ TEMPのコピーを削除（後片付け）
        On Error Resume Next
        If fso.FileExists(tempPath) Then fso.DeleteFile tempPath, True
        On Error GoTo ErrHandler
    Next i

    If keyCount = 0 Then
        MsgBox "データが見つかりませんでした。", vbExclamation
        GoTo Cleanup
    End If

    ' --- keyList を実サイズに切り詰め ---
    If keyCount &lt; UBound(keyList) Then
        ReDim Preserve keyList(1 To keyCount)
    End If


    ' ==========================================================
    '  4. シェルソート（SORT_KEY_1～5 の多段比較）
    '     バブルソート O(n^2) からシェルソート O(n^1.3) に高速化
    ' ==========================================================
    Dim va As Variant, vb As Variant
    Dim sk As Long
    Dim needSwap As Boolean
    Dim gap As Long, gi As Long, gj As Long
    Dim tmp As String

    gap = keyCount \ 2
    Do While gap > 0
        For gi = gap + 1 To keyCount
            tmp = keyList(gi)
            Dim tmpSort As Variant
            tmpSort = sortDict(tmp)
            gj = gi
            Do While gj > gap
                vb = sortDict(keyList(gj - gap))
                needSwap = False
                For sk = 0 To 4
                    If vb(sk) &lt;> tmpSort(sk) Then
                        needSwap = (vb(sk) > tmpSort(sk))
                        Exit For
                    End If
                Next sk
                If Not needSwap Then Exit Do
                keyList(gj) = keyList(gj - gap)
                gj = gj - gap
            Loop
            keyList(gj) = tmp
        Next gi
        gap = gap \ 2
    Loop


    ' ==========================================================
    '  5. output1 : クロスリファレンス表を出力
    '     ソース全列(A～CN)のデータを表示し、
    '     B～I列のみ n1～n8 の〇マークで上書きする。
    ' ==========================================================
    Dim ws1 As Worksheet
    Set ws1 = ThisWorkbook.Sheets("output1")
    ws1.Cells.Clear

    Dim out1() As Variant
    Dim outCols As Long
    outCols = SRC_LAST_COL

    ReDim out1(1 To keyCount + 1, 1 To outCols)

    ' --- ヘッダ行：ソースのヘッダをコピーし、B～I列のみ上書き ---
    Dim parts() As String
    If Not IsEmpty(hdrRow) Then
        For c = 1 To outCols
            out1(1, c) = hdrRow(1, c)
        Next c
    End If
    For i = 1 To nFiles
        out1(1, OUT_COL_N + i - 1) = srcNames(i)
    Next i

    ' --- データ行：全列データをコピーし、B～I列のみ〇で上書き ---
    Dim rowData As Variant
    Dim cRef As Object

    For r = 1 To keyCount
        rowData = rowDict(keyList(r))
        For c = 1 To outCols
            out1(r + 1, c) = rowData(c)
        Next c

        ' B～I列を〇で上書き（Dictionary参照を変数にキャッシュ）
        Set cRef = crossRef(keyList(r))
        For i = 1 To nFiles
            If cRef.Exists(srcNames(i)) Then
                out1(r + 1, OUT_COL_N + i - 1) = MARU
            Else
                out1(r + 1, OUT_COL_N + i - 1) = ""
            End If
        Next i
    Next r

    ws1.Range(ws1.Cells(OUT_HDR_ROW, 1), _
              ws1.Cells(OUT_HDR_ROW + keyCount, outCols)).Value = out1

    ' --- B4～I4（n列ヘッダ）を縦書き表示にする ---
    Dim lastNCol As Long
    lastNCol = OUT_COL_N + nFiles - 1
    If lastNCol > 9 Then lastNCol = 9
    If lastNCol >= OUT_COL_N Then
        ws1.Range(ws1.Cells(OUT_HDR_ROW, OUT_COL_N), _
                  ws1.Cells(OUT_HDR_ROW, lastNCol)).Orientation = 90
    End If

    ' --- out1 配列を解放（メモリ節約） ---
    Erase out1


    ' ==========================================================
    '  6. output2 : キーごとのメモ集約表を出力
    '     1列目: キー（ソースのK列）
    '     2列目: no（ソースのT列）
    '     3列目: name（ソースのZ列）
    '     4列目: 備考（コメント集約）
    '     ※ OUT2_KEY_FROM / OUT2_KEY_TO で範囲フィルタ可能
    ' ==========================================================
    Dim ws2 As Worksheet
    Set ws2 = ThisWorkbook.Sheets("output2")
    ws2.Cells.Clear

    ' --- キーごとにコメント・no・nameを集約する Dictionary ---
    Dim fnDict   As Object    ' キー値 → 結合メモ文字列
    Dim fnNoDict As Object    ' キー値 → no（初回出現時のT列値）
    Dim fnNmDict As Object    ' キー値 → name（初回出現時のZ列値）
    Dim fnList() As String    ' 出現順のキーリスト
    Dim fnCount  As Long
    Set fnDict = CreateObject("Scripting.Dictionary")
    Set fnNoDict = CreateObject("Scripting.Dictionary")
    Set fnNmDict = CreateObject("Scripting.Dictionary")
    ReDim fnList(1 To keyCount)   ' 最大でkeyCount個
    fnCount = 0

    For r = 1 To keyCount
        parts = Split(keyList(r), SEP)
        keyVal = parts(0)
        cmnt = ""
        If UBound(parts) >= 1 Then cmnt = parts(1)

        ' ★ output2 専用：キー値トリム処理
        If FNAME_TRIM_PREFIX &lt;> "" Then
            If Left(keyVal, Len(FNAME_TRIM_PREFIX)) = FNAME_TRIM_PREFIX Then
                keyVal = Mid(keyVal, Len(FNAME_TRIM_PREFIX) + 1)
            End If
        End If
        If FNAME_TRIM_SUFFIX &lt;> "" Then
            If Right(keyVal, Len(FNAME_TRIM_SUFFIX)) = FNAME_TRIM_SUFFIX Then
                keyVal = Left(keyVal, Len(keyVal) - Len(FNAME_TRIM_SUFFIX))
            End If
        End If

        ' ★ output2 専用：ハイフン以降を除去（表示・集約キー）
        Dim hypPos As Long
        hypPos = InStr(keyVal, "-")
        If hypPos > 0 Then keyVal = Left(keyVal, hypPos - 1)

        ' ★ 範囲フィルタ
        Dim inRange As Boolean
        inRange = True
        If OUT2_KEY_FROM &lt;> "" Then
            If keyVal &lt; OUT2_KEY_FROM Then inRange = False
        End If
        If OUT2_KEY_TO &lt;> "" Then
            If keyVal > OUT2_KEY_TO Then inRange = False
        End If

        If inRange Then

            ' --- 全ソースに存在するか判定 ---
            Dim allOK    As Boolean
            Dim presList As String
            Dim sName    As String
            allOK = True
            presList = ""

            Set cRef = crossRef(keyList(r))
            For i = 1 To nFiles
                If cRef.Exists(srcNames(i)) Then
                    sName = srcNames(i)
                    If FNAME_TRIM_PREFIX &lt;> "" Then
                        If Left(sName, Len(FNAME_TRIM_PREFIX)) = FNAME_TRIM_PREFIX Then
                            sName = Mid(sName, Len(FNAME_TRIM_PREFIX) + 1)
                        End If
                    End If
                    If FNAME_TRIM_SUFFIX &lt;> "" Then
                        If Right(sName, Len(FNAME_TRIM_SUFFIX)) = FNAME_TRIM_SUFFIX Then
                            sName = Left(sName, Len(sName) - Len(FNAME_TRIM_SUFFIX))
                        End If
                    End If
                    If presList &lt;> "" Then presList = presList &amp; ","
                    presList = presList &amp; sName
                Else
                    allOK = False
                End If
            Next i

            ' --- メモ文字列生成 ---
            Dim entry As String
            Dim dispCmnt As String
            If cmnt &lt;> "" Then
                dispCmnt = cmnt
            Else
                dispCmnt = "＿"
            End If

            If allOK Then
                entry = dispCmnt
            Else
                entry = dispCmnt &amp; presList &amp; NOMI
            End If

            ' --- 同じキー値のエントリを結合 ---
            If Not fnDict.Exists(keyVal) Then
                fnDict(keyVal) = entry
                fnCount = fnCount + 1
                fnList(fnCount) = keyVal

                ' ★ no(T列), name(Z列) を rowDict から取得（初回出現時）
                rowData = rowDict(keyList(r))
                fnNoDict(keyVal) = CStr(rowData(OUT2_COL_NO) &amp; "")
                fnNmDict(keyVal) = CStr(rowData(OUT2_COL_NAME) &amp; "")
            Else
                If entry &lt;> "" Then
                    If fnDict(keyVal) &lt;> "" Then
                        fnDict(keyVal) = fnDict(keyVal) &amp; "  " &amp; entry
                    Else
                        fnDict(keyVal) = entry
                    End If
                End If
            End If

        End If  ' inRange
    Next r

    ' --- 配列に詰めて一括書き込み（4列: キー, no, name, 備考） ---
    If fnCount > 0 Then
        Dim out2() As Variant
        ReDim out2(1 To fnCount + 1, 1 To 4)
        out2(1, 1) = HDR_KEY
        out2(1, 2) = HDR_NO
        out2(1, 3) = HDR_NAME
        out2(1, 4) = HDR_MEMO

        For r = 1 To fnCount
            out2(r + 1, 1) = fnList(r)
            out2(r + 1, 2) = fnNoDict(fnList(r))
            out2(r + 1, 3) = fnNmDict(fnList(r))
            out2(r + 1, 4) = fnDict(fnList(r))
        Next r

        ws2.Range(ws2.Cells(1, 1), ws2.Cells(fnCount + 1, 4)).Value = out2
    End If


    ' ==========================================================
    '  完了メッセージ
    ' ==========================================================
    MsgBox "完了しました！" &amp; vbCrLf &amp; _
           "フォルダ: " &amp; folderPath &amp; vbCrLf &amp; _
           "ソース: " &amp; nFiles &amp; " ファイル" &amp; vbCrLf &amp; _
           "output1: " &amp; keyCount &amp; " 行" &amp; vbCrLf &amp; _
           "output2: " &amp; fnCount &amp; " 行", vbInformation


Cleanup:
    ' ----------------------------------------------------------
    '  画面更新・再計算・イベントを復元
    ' ----------------------------------------------------------
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
    Exit Sub


ErrHandler:
    ' ----------------------------------------------------------
    '  予期しないエラーのハンドリング
    ' ----------------------------------------------------------
    MsgBox "エラーが発生しました: " &amp; Err.Description &amp; vbCrLf &amp; _
           "パス: " &amp; folderPath, vbCritical
    Resume Cleanup

End Sub
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9">Option</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Explicit</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ===========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  処理A : 部品リスト集約マク</span><span style="color: #D8DEE9">ロ</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  ───────────────────────────────────────────────────────────</span><span style="color: #D8DEE9">─</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  ・settingシートで指定したソースファイル(import/)を読み込み</span><span style="color: #D8DEE9">、</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">    output1 に〇クロスリファレンス表（ソース全列）</span><span style="color: #D8DEE9">、</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">    output2 にキーごとのメモ集約表を出力する</span><span style="color: #D8DEE9">。</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  ・配列一括 Read/Write ＋ シェルソートで高速処</span><span style="color: #D8DEE9">理</span></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ===========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9">Sub</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">RunAggregate</span><span style="color: #D8DEE9FF">()</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  定数定義：読み込み元（ソースファイル）の列番</span><span style="color: #D8DEE9">号</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  ソースの列範囲は A(1)～CN(92</span><span style="color: #D8DEE9">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_COL_KEY</span><span style="color: #D8DEE9FF">   </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">11</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> K列  : キー（集約キー</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_COL_CMNT</span><span style="color: #D8DEE9FF">  </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">27</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> AA列 : コメン</span><span style="color: #D8DEE9">ト</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_LAST_COL</span><span style="color: #D8DEE9FF">  </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">92</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> CN列 : データ最終</span><span style="color: #D8DEE9">列</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_START_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">5</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> データ開始行（4行目はヘッダ</span><span style="color: #D8DEE9">）</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  定数定義：出力先（output1）の列番号・行番</span><span style="color: #D8DEE9">号</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_COL_KEY</span><span style="color: #D8DEE9FF">   </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">11</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> K列  : キー表示位</span><span style="color: #D8DEE9">置</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_COL_WORK</span><span style="color: #D8DEE9FF">  </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">27</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> AA列 : 作業（コメント</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_COL_N</span><span style="color: #D8DEE9FF">     </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> B列  : n列の開始位</span><span style="color: #D8DEE9">置</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_HDR_ROW</span><span style="color: #D8DEE9FF">   </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ヘッダ行（B4～I4 に n1,n2,...</span><span style="color: #D8DEE9">）</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  定数定義：出力先（output2）の列番</span><span style="color: #D8DEE9">号</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  1列目=キー(K列), 2列目=no(T列), 3列目=name(Z列), 4列目=備</span><span style="color: #D8DEE9">考</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT2_COL_NO</span><span style="color: #D8DEE9FF">   </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">20</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> T列  : no（ソースのT列から取得</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT2_COL_NAME</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">26</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> Z列  : name（ソースのZ列から取得</span><span style="color: #D8DEE9">）</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  定数定義：settingシートの巡回範</span><span style="color: #D8DEE9">囲</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">START_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ファイルリスト開始</span><span style="color: #D8DEE9">行</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">END_ROW</span><span style="color: #D8DEE9FF">   </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">10</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ファイルリスト終了</span><span style="color: #D8DEE9">行</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  定数定義：ファイル名トリム（output2 専用</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  output2 出力時のみ、キー値の先頭・末尾を除去する</span><span style="color: #D8DEE9">。</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  output1 には影響しない</span><span style="color: #D8DEE9">。</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  不要なら &quot;&quot; にすればスキップされる</span><span style="color: #D8DEE9">。</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_PREFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 先頭から除去する文字</span><span style="color: #D8DEE9">列</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_SUFFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 末尾から除去する文字</span><span style="color: #D8DEE9">列</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  定数定義：output2 キー範囲フィル</span><span style="color: #D8DEE9">タ</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  output2 に出力するキーの範囲を指定する</span><span style="color: #D8DEE9">。</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  文字列比較（昇順）で FROM ≦ キー ≦ TO の行のみ出力</span><span style="color: #D8DEE9">。</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  空文字 &quot;&quot; なら制限なし（全キー出力）</span><span style="color: #D8DEE9">。</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  例: &quot;A00-0000&quot; ～ &quot;B99-9999&quot; → A～B で始まるキーの</span><span style="color: #D8DEE9">み</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT2_KEY_FROM</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 開始キー（空なら制限なし</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT2_KEY_TO</span><span style="color: #D8DEE9FF">   </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 終了キー（空なら制限なし</span><span style="color: #D8DEE9">）</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  定数定義：ソートキー（最大5段階</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  出力の並び順を制御する。列番号を指定（0 = 使わない）</span><span style="color: #D8DEE9">。</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  例: K列(11)→O列(15)→N列(14) の順でソー</span><span style="color: #D8DEE9">ト</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">11</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 第1キー: K</span><span style="color: #D8DEE9">列</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_2</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">15</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 第2キー: O</span><span style="color: #D8DEE9">列</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_3</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">14</span><span style="color: #D8DEE9FF">   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 第3キー: N</span><span style="color: #D8DEE9">列</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_4</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 第4キー: な</span><span style="color: #D8DEE9">し</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_5</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 第5キー: な</span><span style="color: #D8DEE9">し</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  定数定義：区切り文字・日本語ラベ</span><span style="color: #D8DEE9">ル</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SEP</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">|</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">MARU</span><span style="color: #D8DEE9FF">      </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">〇</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">NOMI</span><span style="color: #D8DEE9FF">      </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">のみ</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">HDR_KEY</span><span style="color: #D8DEE9FF">   </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">キー</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">HDR_WORK</span><span style="color: #D8DEE9FF">  </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">作業</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">HDR_NO</span><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">no</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">HDR_NAME</span><span style="color: #D8DEE9FF">  </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">name</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">HDR_MEMO</span><span style="color: #D8DEE9FF">  </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">備考</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  変数宣</span><span style="color: #D8DEE9">言</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">folderPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">srcFiles</span><span style="color: #D8DEE9FF">() </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">srcNames</span><span style="color: #D8DEE9FF">() </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">nFiles</span><span style="color: #D8DEE9FF">     </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">          </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">          </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">          </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ---------------------------------------------------------</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  画面更新・再計算・イベントを一時停止（高速化</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ---------------------------------------------------------</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">ScreenUpdating</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Calculation</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">xlCalculationManual</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">EnableEvents</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ErrHandler</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.FileSystemObject</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  1. settingシート読み込み（必須</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">wsSetting</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Worksheet</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Resume</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Next</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">wsSetting</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ThisWorkbook</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Sheets</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">setting</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ErrHandler</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- settingシートが無ければエラー終了 --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">wsSetting</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Is</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Nothing</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">エラー: &#39;setting&#39; シートが見つかりません。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">               </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">settingシートを作成してください。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCritical</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Cleanup</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- C1 からベースフォルダパスを取得 --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">baseFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">baseFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Trim</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">wsSetting</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">baseFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Right</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">baseFolder</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #EBCB8B">\&quot;</span><span style="color: #A3BE8C"> Then baseFolder = baseFolder &amp; </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">\</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #A3BE8C">        If Not fso.FolderExists(baseFolder) The</span><span style="color: #D8DEE9">n</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">エラー: ベースフォルダが見つかりません:</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">                   </span><span style="color: #D8DEE9">baseFolder</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">                   </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">settingシートのC1を確認してください。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCritical</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Cleanup</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">folderPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">baseFolder</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">エラー: フォルダパスが取得できません。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">               </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">settingシートのC1にベースフォルダパスを設定してください。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCritical</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Cleanup</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  2. settingシートからファイルリストを取</span><span style="color: #D8DEE9">得</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     （C列 START_ROW～END_ROW を巡回</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">wsSetting</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">START_ROW</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">エラー: ファイルが設定されていません。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">               </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">settingシートのC</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">START_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">以降にファイル名を入力してください。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCritical</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Cleanup</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- 配列を事前確保（最大ファイル数 = END_ROW - START_ROW + 1） --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">maxFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">maxFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">END_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">START_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">srcFiles</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">maxFiles</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">srcNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">maxFiles</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">nFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">si</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sj</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">st</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cellVal</span><span style="color: #D8DEE9FF">     </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fullPath</span><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">missingFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">missingFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">START_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">END_ROW</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">cellVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Trim</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">wsSetting</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cellVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">InStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">cellVal</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #EBCB8B">\&quot;</span><span style="color: #A3BE8C">) &gt; 0 Or InStr(cellVal, </span><span style="color: #ECEFF4">&quot;</span><span style="color: #81A1C1">/</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">) &gt; 0 The</span><span style="color: #D8DEE9">n</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">fullPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cellVal</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">fullPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">folderPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cellVal</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Not</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">FileExists</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">fullPath</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">missingFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">missingFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">  行 </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cellVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">nFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">nFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">srcFiles</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">nFiles</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fullPath</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dispName</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">dispName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Trim</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">wsSetting</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dispName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">bName</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">bName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">GetFileName</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">fullPath</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">InStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">bName</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">_n</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">nm</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">nm</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Mid</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">bName</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">InStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">bName</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">_n</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">dispName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">n</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Left</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">nm</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">nm</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">5</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">dispName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Left</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">bName</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">bName</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">5</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">srcNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">nFiles</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dispName</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">missingFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">エラー: 以下のファイルが見つかりません:</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">               </span><span style="color: #D8DEE9">missingFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">               </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">ベースフォルダ: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">folderPath</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCritical</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Cleanup</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">nFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">エラー: 有効なファイルがありません。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCritical</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Cleanup</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  3. 全ソースファイル読み込み → Dictionaryに格</span><span style="color: #D8DEE9">納</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     key = &quot;K列値|コメント</span><span style="color: #D8DEE9">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     value = Dictionary (ソース名 → True</span><span style="color: #D8DEE9">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     ※ K列に値がある行を全て対象とする（〇フィルタなし</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">crossRef</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span><span style="color: #D8DEE9FF">           </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 全キーのクロスリファレン</span><span style="color: #D8DEE9">ス</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">crossRef</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.Dictionary</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- ソート用：各compKeyのソートキー値を保持 --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sortDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sortDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.Dictionary</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- output1用：各compKeyの全列データを保持（初回出現時） --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">rowDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">rowDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.Dictionary</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- output1用：ソースのヘッダ行（最初のファイルから取得） --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">hdrRow</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">hdrRow</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Empty</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- キーリスト：事前確保して後で切り詰め --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Const</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">INIT_KEYS</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1024</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">() </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">INIT_KEYS</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">srcWb</span><span style="color: #D8DEE9FF">   </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Workbook</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">data</span><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">lastRow</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">  </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cmnt</span><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">compKey</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- 共有ドライブ高速化：ローカルTEMPにコピーしてから読む --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tempDir</span><span style="color: #D8DEE9FF">  </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tempPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">tempDir</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Environ</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">TEMP</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Right</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">tempDir</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #EBCB8B">\&quot;</span><span style="color: #A3BE8C"> Then tempDir = tempDir &amp; </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">\</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A3BE8C">    For i = 1 To nFile</span><span style="color: #D8DEE9">s</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ★ ネットワークファイルをローカルにコピー（一括転送で高速</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">tempPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tempDir</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">GetFileName</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">srcFiles</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Resume</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Next</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">CopyFile</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">srcFiles</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tempPath</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ErrHandler</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ローカルコピーがあればそちらを開く、なければ元パスを開</span><span style="color: #D8DEE9">く</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">openPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">FileExists</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">tempPath</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">openPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tempPath</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">openPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">srcFiles</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">srcWb</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Workbooks</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Open</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">openPath</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ReadOnly</span><span style="color: #D8DEE9FF">:</span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9">True</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">UpdateLinks</span><span style="color: #D8DEE9FF">:</span><span style="color: #81A1C1">=</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">With</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">srcWb</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Sheets</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">lastRow</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Rows</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Count</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_COL_KEY</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">End</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">xlUp</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Row</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">lastRow</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_START_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- ヘッダ行を最初のファイルから取得（1行前 = 4行目） --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">IsEmpty</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">hdrRow</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">hdrRow</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Range</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">SRC_START_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">                                    </span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">SRC_START_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_LAST_COL</span><span style="color: #D8DEE9FF">))</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- A列～CN列 を配列に一括読み込み --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">data</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Range</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">SRC_START_ROW</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">lastRow</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_LAST_COL</span><span style="color: #D8DEE9FF">))</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">UBound</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">data</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Trim</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_COL_KEY</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">IsEmpty</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_COL_CMNT</span><span style="color: #D8DEE9FF">)) </span><span style="color: #D8DEE9">Or</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">                           </span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_COL_CMNT</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">cmnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">cmnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_COL_CMNT</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">compKey</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SEP</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cmnt</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Not</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">crossRef</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Exists</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">compKey</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">crossRef</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">compKey</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.Dictionary</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 配列が足りなければ倍に拡</span><span style="color: #D8DEE9">張</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">UBound</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyList</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                                </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Preserve</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">UBound</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyList</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">*</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">compKey</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ★ 全列データを保持（初回出現時の値を使用</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">rv</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">rv</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_LAST_COL</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_LAST_COL</span></span>
<span class="line"><span style="color: #D8DEE9FF">                                </span><span style="color: #88C0D0">rv</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #88C0D0">rowDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">compKey</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">rv</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ★ ソート用の値を保</span><span style="color: #D8DEE9">持</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sv</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">sv</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Array</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_1</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sv</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sv</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_2</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_3</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sv</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_3</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_4</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sv</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_4</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_5</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sv</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">data</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SORT_KEY_5</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #88C0D0">sortDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">compKey</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sv</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #88C0D0">crossRef</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">compKey</span><span style="color: #D8DEE9FF">)(</span><span style="color: #88C0D0">srcNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">)) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">With</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">srcWb</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Close</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ★ TEMPのコピーを削除（後片付け</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Resume</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Next</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">FileExists</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">tempPath</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">DeleteFile</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tempPath</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ErrHandler</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">データが見つかりませんでした。</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbExclamation</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Cleanup</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- keyList を実サイズに切り詰め --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">UBound</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyList</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Preserve</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  4. シェルソート（SORT_KEY_1～5 の多段比較</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     バブルソート O(n^2) からシェルソート O(n^1.3) に高速</span><span style="color: #D8DEE9">化</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">va</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vb</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sk</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">needSwap</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Boolean</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gap</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gi</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gj</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tmp</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">gap</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> \ </span><span style="color: #B48EAD">2</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Do</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">While</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gap</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gi</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gap</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">tmp</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">gi</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tmpSort</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">tmpSort</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sortDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">tmp</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">gj</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gi</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Do</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">While</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gj</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gap</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">vb</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">sortDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">gj</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gap</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">needSwap</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sk</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">vb</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">sk</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">tmpSort</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">sk</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">needSwap</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> (</span><span style="color: #88C0D0">vb</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">sk</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">tmpSort</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">sk</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">For</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sk</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Not</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">needSwap</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Do</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">gj</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">gj</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gap</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">gj</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gj</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gap</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Loop</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">gj</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">tmp</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gi</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">gap</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">gap</span><span style="color: #D8DEE9FF"> \ </span><span style="color: #B48EAD">2</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Loop</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  5. output1 : クロスリファレンス表を出</span><span style="color: #D8DEE9">力</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     ソース全列(A～CN)のデータを表示し</span><span style="color: #D8DEE9">、</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     B～I列のみ n1～n8 の〇マークで上書きする</span><span style="color: #D8DEE9">。</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Worksheet</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws1</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ThisWorkbook</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Sheets</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">output1</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ws1</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Cells</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Clear</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">out1</span><span style="color: #D8DEE9FF">() </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">outCols</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">outCols</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SRC_LAST_COL</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">out1</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">outCols</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- ヘッダ行：ソースのヘッダをコピーし、B～I列のみ上書き --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">parts</span><span style="color: #D8DEE9FF">() </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Not</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">IsEmpty</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">hdrRow</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">outCols</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #88C0D0">out1</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">hdrRow</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">nFiles</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">out1</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_COL_N</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">srcNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- データ行：全列データをコピーし、B～I列のみ〇で上書き --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">rowData</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cRef</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">rowData</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">rowDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">outCols</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #88C0D0">out1</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">rowData</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">c</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">c</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> B～I列を〇で上書き（Dictionary参照を変数にキャッシュ</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cRef</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">crossRef</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">nFiles</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cRef</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Exists</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">srcNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">)) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">out1</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_COL_N</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">MARU</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">out1</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_COL_N</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ws1</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Range</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ws1</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">OUT_HDR_ROW</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">              </span><span style="color: #D8DEE9">ws1</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">OUT_HDR_ROW</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">outCols</span><span style="color: #D8DEE9FF">))</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">out1</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- B4～I4（n列ヘッダ）を縦書き表示にする --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">lastNCol</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">lastNCol</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_COL_N</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">nFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">lastNCol</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">9</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">lastNCol</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">9</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">lastNCol</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_COL_N</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">ws1</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Range</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ws1</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">OUT_HDR_ROW</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT_COL_N</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">                  </span><span style="color: #D8DEE9">ws1</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">OUT_HDR_ROW</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">lastNCol</span><span style="color: #D8DEE9FF">))</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Orientation</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">90</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- out1 配列を解放（メモリ節約） --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Erase</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">out1</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  6. output2 : キーごとのメモ集約表を出</span><span style="color: #D8DEE9">力</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     1列目: キー（ソースのK列</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     2列目: no（ソースのT列</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     3列目: name（ソースのZ列</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     4列目: 備考（コメント集約</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">     ※ OUT2_KEY_FROM / OUT2_KEY_TO で範囲フィルタ可</span><span style="color: #D8DEE9">能</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws2</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Worksheet</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ThisWorkbook</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Sheets</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">output2</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ws2</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Cells</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Clear</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- キーごとにコメント・no・nameを集約する Dictionary --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnDict</span><span style="color: #D8DEE9FF">   </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> キー値 → 結合メモ文字</span><span style="color: #D8DEE9">列</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnNoDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> キー値 → no（初回出現時のT列値</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnNmDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> キー値 → name（初回出現時のZ列値</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fnList</span><span style="color: #D8DEE9FF">() </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 出現順のキーリス</span><span style="color: #D8DEE9">ト</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnCount</span><span style="color: #D8DEE9FF">  </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.Dictionary</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnNoDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.Dictionary</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnNmDict</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.Dictionary</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fnList</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF">)   </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 最大でkeyCount</span><span style="color: #D8DEE9">個</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">fnCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">parts</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Split</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">SEP</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">parts</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">cmnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">UBound</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">parts</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&gt;=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cmnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">parts</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ★ output2 専用：キー値トリム処</span><span style="color: #D8DEE9">理</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_PREFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Left</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">FNAME_TRIM_PREFIX</span><span style="color: #D8DEE9FF">)) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_PREFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Mid</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">FNAME_TRIM_PREFIX</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_SUFFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Right</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">FNAME_TRIM_SUFFIX</span><span style="color: #D8DEE9FF">)) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_SUFFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Left</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">FNAME_TRIM_SUFFIX</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ★ output2 専用：ハイフン以降を除去（表示・集約キー</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">hypPos</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">hypPos</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">InStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">-</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">hypPos</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Left</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">hypPos</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ★ 範囲フィル</span><span style="color: #D8DEE9">タ</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">inRange</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Boolean</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">inRange</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT2_KEY_FROM</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT2_KEY_FROM</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">inRange</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT2_KEY_TO</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">OUT2_KEY_TO</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">inRange</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">inRange</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- 全ソースに存在するか判定 --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">allOK</span><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Boolean</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">presList</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sName</span><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">allOK</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">presList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cRef</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">crossRef</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">nFiles</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cRef</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Exists</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">srcNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">)) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">sName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">srcNames</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_PREFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Left</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">sName</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">FNAME_TRIM_PREFIX</span><span style="color: #D8DEE9FF">)) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_PREFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">sName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Mid</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">sName</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">FNAME_TRIM_PREFIX</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_SUFFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Right</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">sName</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">FNAME_TRIM_SUFFIX</span><span style="color: #D8DEE9FF">)) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">FNAME_TRIM_SUFFIX</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                            </span><span style="color: #D8DEE9">sName</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Left</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">sName</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">sName</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">-</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">FNAME_TRIM_SUFFIX</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">presList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">presList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">presList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">,</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">presList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">presList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">sName</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">allOK</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">False</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- メモ文字列生成 --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">entry</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dispCmnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cmnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">dispCmnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cmnt</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">dispCmnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">＿</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">allOK</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">entry</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dispCmnt</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">entry</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">dispCmnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">presList</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">NOMI</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- 同じキー値のエントリを結合 --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Not</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnDict</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Exists</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">fnDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">entry</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">fnCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">fnList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">fnCount</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyVal</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ★ no(T列), name(Z列) を rowDict から取得（初回出現時</span><span style="color: #D8DEE9">）</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">rowData</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">rowDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">keyList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">fnNoDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">rowData</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">OUT2_COL_NO</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #88C0D0">fnNmDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">rowData</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">OUT2_COL_NAME</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">entry</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fnDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #88C0D0">fnDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fnDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">  </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">entry</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">                        </span><span style="color: #88C0D0">fnDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">keyVal</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">entry</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF">  </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> inRang</span><span style="color: #D8DEE9">e</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> --- 配列に詰めて一括書き込み（4列: キー, no, name, 備考） --</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">out2</span><span style="color: #D8DEE9FF">() </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">ReDim</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">out2</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">out2</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">HDR_KEY</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">out2</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">HDR_NO</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">out2</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">HDR_NAME</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #88C0D0">out2</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">HDR_MEMO</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnCount</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #88C0D0">out2</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fnList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #88C0D0">out2</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fnNoDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">fnList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #88C0D0">out2</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">3</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fnNmDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">fnList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #88C0D0">out2</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">fnDict</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">fnList</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">r</span><span style="color: #D8DEE9FF">))</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Next</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">r</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">ws2</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Range</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ws2</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws2</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Cells</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">fnCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">))</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Value</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">out2</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  完了メッセー</span><span style="color: #D8DEE9">ジ</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> =========================================================</span><span style="color: #D8DEE9">=</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">完了しました！</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">           </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">フォルダ: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">folderPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">           </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">ソース: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">nFiles</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C"> ファイル</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">           </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">output1: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">keyCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C"> 行</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">           </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">output2: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fnCount</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C"> 行</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbInformation</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9">Cleanup</span><span style="color: #D8DEE9FF">:</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ---------------------------------------------------------</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  画面更新・再計算・イベントを復</span><span style="color: #D8DEE9">元</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ---------------------------------------------------------</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">ScreenUpdating</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Calculation</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">xlCalculationAutomatic</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">EnableEvents</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9">ErrHandler</span><span style="color: #D8DEE9FF">:</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ---------------------------------------------------------</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C">  予期しないエラーのハンドリン</span><span style="color: #D8DEE9">グ</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ---------------------------------------------------------</span><span style="color: #D8DEE9">-</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">エラーが発生しました: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Err</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Description</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">           </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">パス: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">folderPath</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCritical</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Resume</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Cleanup</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span></span>
<span class="line"></span></code></pre></div>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://manabinotes.com/%e3%80%90vba%e3%80%91%e5%be%ae%e5%a6%99%e3%81%ab%e9%81%95%e3%81%86%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%81%ae%e6%af%94%e8%bc%83%e9%9b%86%e7%b4%84/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【PAD】 PDFの向きと大きさを揃えて印刷しなおす</title>
		<link>https://manabinotes.com/%e3%80%90pad%e3%80%91-pdf%e3%81%ae%e5%90%91%e3%81%8d%e3%81%a8%e5%a4%a7%e3%81%8d%e3%81%95%e3%82%92%e6%8f%83%e3%81%88%e3%81%a6%e5%8d%b0%e5%88%b7%e3%81%97%e3%81%aa%e3%81%8a%e3%81%99/</link>
					<comments>https://manabinotes.com/%e3%80%90pad%e3%80%91-pdf%e3%81%ae%e5%90%91%e3%81%8d%e3%81%a8%e5%a4%a7%e3%81%8d%e3%81%95%e3%82%92%e6%8f%83%e3%81%88%e3%81%a6%e5%8d%b0%e5%88%b7%e3%81%97%e3%81%aa%e3%81%8a%e3%81%99/#respond</comments>
		
		<dc:creator><![CDATA[manabi33]]></dc:creator>
		<pubDate>Mon, 23 Feb 2026 14:32:13 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://manabinotes.com/?p=235</guid>

					<description><![CDATA[↓「プリンタの余白に合わせる」「用紙に合わせて自動回転:ON」「ドキュメントのページサイズで用紙サイズを選択:OFF」が重要！！]]></description>
										<content:encoded><![CDATA[
<p></p>



<p></p>



<div class="wp-block-file"><a id="wp-block-file--media-4043da61-5d25-4ab6-abbd-65b5b16fa92c" href="https://manabinotes.com/wp-content/uploads/2026/02/87e2f9668e9568bae0a198159c0dc5a7.txt">PDF統合印刷</a><a href="https://manabinotes.com/wp-content/uploads/2026/02/87e2f9668e9568bae0a198159c0dc5a7.txt" class="wp-block-file__button wp-element-button" download aria-describedby="wp-block-file--media-4043da61-5d25-4ab6-abbd-65b5b16fa92c">ダウンロード</a></div>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="955" height="906" src="https://manabinotes.com/wp-content/uploads/2026/02/image-9.png" alt="" class="wp-image-239" srcset="https://manabinotes.com/wp-content/uploads/2026/02/image-9.png 955w, https://manabinotes.com/wp-content/uploads/2026/02/image-9-300x285.png 300w, https://manabinotes.com/wp-content/uploads/2026/02/image-9-768x729.png 768w" sizes="(max-width: 955px) 100vw, 955px" /></figure>



<figure class="wp-block-image size-full"><img decoding="async" width="945" height="866" src="https://manabinotes.com/wp-content/uploads/2026/02/image-12.png" alt="" class="wp-image-242" srcset="https://manabinotes.com/wp-content/uploads/2026/02/image-12.png 945w, https://manabinotes.com/wp-content/uploads/2026/02/image-12-300x275.png 300w, https://manabinotes.com/wp-content/uploads/2026/02/image-12-768x704.png 768w" sizes="(max-width: 945px) 100vw, 945px" /></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="841" height="1024" src="https://manabinotes.com/wp-content/uploads/2026/02/image-13-841x1024.png" alt="" class="wp-image-243" srcset="https://manabinotes.com/wp-content/uploads/2026/02/image-13-841x1024.png 841w, https://manabinotes.com/wp-content/uploads/2026/02/image-13-246x300.png 246w, https://manabinotes.com/wp-content/uploads/2026/02/image-13-768x935.png 768w, https://manabinotes.com/wp-content/uploads/2026/02/image-13.png 953w" sizes="(max-width: 841px) 100vw, 841px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="936" height="1004" src="https://manabinotes.com/wp-content/uploads/2026/02/image-14.png" alt="" class="wp-image-244" srcset="https://manabinotes.com/wp-content/uploads/2026/02/image-14.png 936w, https://manabinotes.com/wp-content/uploads/2026/02/image-14-280x300.png 280w, https://manabinotes.com/wp-content/uploads/2026/02/image-14-768x824.png 768w" sizes="(max-width: 936px) 100vw, 936px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="839" height="1024" src="https://manabinotes.com/wp-content/uploads/2026/02/image-15-839x1024.png" alt="" class="wp-image-245" srcset="https://manabinotes.com/wp-content/uploads/2026/02/image-15-839x1024.png 839w, https://manabinotes.com/wp-content/uploads/2026/02/image-15-246x300.png 246w, https://manabinotes.com/wp-content/uploads/2026/02/image-15-768x938.png 768w, https://manabinotes.com/wp-content/uploads/2026/02/image-15.png 951w" sizes="(max-width: 839px) 100vw, 839px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="896" height="1024" src="https://manabinotes.com/wp-content/uploads/2026/02/image-16-896x1024.png" alt="" class="wp-image-246" srcset="https://manabinotes.com/wp-content/uploads/2026/02/image-16-896x1024.png 896w, https://manabinotes.com/wp-content/uploads/2026/02/image-16-263x300.png 263w, https://manabinotes.com/wp-content/uploads/2026/02/image-16-768x878.png 768w, https://manabinotes.com/wp-content/uploads/2026/02/image-16.png 946w" sizes="(max-width: 896px) 100vw, 896px" /></figure>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="939" height="938" src="https://manabinotes.com/wp-content/uploads/2026/02/image-18.png" alt="" class="wp-image-248" srcset="https://manabinotes.com/wp-content/uploads/2026/02/image-18.png 939w, https://manabinotes.com/wp-content/uploads/2026/02/image-18-300x300.png 300w, https://manabinotes.com/wp-content/uploads/2026/02/image-18-150x150.png 150w, https://manabinotes.com/wp-content/uploads/2026/02/image-18-768x767.png 768w" sizes="(max-width: 939px) 100vw, 939px" /></figure>



<p>↓「プリンタの余白に合わせる」「用紙に合わせて自動回転:ON」「ドキュメントのページサイズで用紙サイズを選択:OFF」が重要！！</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="918" height="660" src="https://manabinotes.com/wp-content/uploads/2026/02/image-21.png" alt="" class="wp-image-251" srcset="https://manabinotes.com/wp-content/uploads/2026/02/image-21.png 918w, https://manabinotes.com/wp-content/uploads/2026/02/image-21-300x216.png 300w, https://manabinotes.com/wp-content/uploads/2026/02/image-21-768x552.png 768w" sizes="(max-width: 918px) 100vw, 918px" /></figure>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://manabinotes.com/%e3%80%90pad%e3%80%91-pdf%e3%81%ae%e5%90%91%e3%81%8d%e3%81%a8%e5%a4%a7%e3%81%8d%e3%81%95%e3%82%92%e6%8f%83%e3%81%88%e3%81%a6%e5%8d%b0%e5%88%b7%e3%81%97%e3%81%aa%e3%81%8a%e3%81%99/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【VBA】スニペット集</title>
		<link>https://manabinotes.com/%e3%80%90vba%e3%80%91%e3%82%bf%e3%82%a4%e3%83%88%e3%83%abonedrive-url-%e2%86%92-%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e3%83%91%e3%82%b9%e5%a4%89%e6%8f%9b%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab/</link>
					<comments>https://manabinotes.com/%e3%80%90vba%e3%80%91%e3%82%bf%e3%82%a4%e3%83%88%e3%83%abonedrive-url-%e2%86%92-%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e3%83%91%e3%82%b9%e5%a4%89%e6%8f%9b%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab/#respond</comments>
		
		<dc:creator><![CDATA[manabi33]]></dc:creator>
		<pubDate>Mon, 23 Feb 2026 08:26:47 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<guid isPermaLink="false">https://manabinotes.com/?p=230</guid>

					<description><![CDATA[使いまわしよう OneDrive URL → ローカルパス変換 クリーンUP]]></description>
										<content:encoded><![CDATA[
<p>使いまわしよう</p>



<p>OneDrive URL → ローカルパス変換</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>' ── OneDrive URL → ローカルパス変換 ──
Private Function GetLocalPath() As String
    Dim p As String
    p = ThisWorkbook.Path

    ' URLでなければそのまま返す
    If Left(p, 4) &lt;> "http" Then
        GetLocalPath = p &amp; "\"
        Exit Function
    End If

    ' OneDrive環境変数からローカルパスを推定
    Dim envKeys As Variant
    envKeys = Array("OneDriveConsumer", "OneDriveCommercial", "OneDrive")

    Dim ws As Object
    Set ws = CreateObject("WScript.Shell")

    Dim envPath As String, i As Long
    For i = 0 To UBound(envKeys)
        On Error Resume Next
        envPath = ws.Environment("Process")(CStr(envKeys(i)))
        On Error GoTo 0
        If envPath &lt;> "" Then
            Dim urlPath As String
            urlPath = p

            ' URLベース部分を除去 (https://domain/id/ の4番目の/以降)
            Dim slashPos As Long, cnt As Long
            slashPos = 0
            For cnt = 1 To 4
                slashPos = InStr(slashPos + 1, urlPath, "/")
                If slashPos = 0 Then Exit For
            Next
            If slashPos > 0 Then
                urlPath = Mid(urlPath, slashPos + 1)
            End If

            ' %XX をデコード
            urlPath = URLDecode(urlPath)

            ' / → \ に置換
            urlPath = Replace(urlPath, "/", "\")

            ' ローカルパス候補を生成して存在確認
            Dim localCandidate As String
            localCandidate = envPath &amp; "\" &amp; urlPath &amp; "\"

            Dim fso As Object
            Set fso = CreateObject("Scripting.FileSystemObject")
            If fso.FolderExists(localCandidate) Then
                GetLocalPath = localCandidate
                Exit Function
            End If

            ' 最初のサブフォルダを除いた候補も試す (OneDriveの階層ズレ対策)
            Dim firstSlash As Long
            firstSlash = InStr(urlPath, "\")
            If firstSlash > 0 Then
                localCandidate = envPath &amp; "\" &amp; Mid(urlPath, firstSlash + 1) &amp; "\"
                If fso.FolderExists(localCandidate) Then
                    GetLocalPath = localCandidate
                    Exit Function
                End If
            End If
        End If
    Next

    ' 自動解決失敗時: フォルダ選択ダイアログ
    With Application.FileDialog(4)
        .Title = "Select dwglist folder"
        If .Show = -1 Then
            GetLocalPath = .SelectedItems(1) &amp; "\"
        Else
            GetLocalPath = ""
        End If
    End With
End Function

' ── URLデコード (%XX → 文字) ──
Private Function URLDecode(ByVal s As String) As String
    Dim result As String, i As Long
    i = 1
    Do While i &lt;= Len(s)
        If Mid(s, i, 1) = "%" And i + 2 &lt;= Len(s) Then
            result = result &amp; Chr(Val("&amp;H" &amp; Mid(s, i + 1, 2)))
            i = i + 3
        Else
            result = result &amp; Mid(s, i, 1)
            i = i + 1
        End If
    Loop
    URLDecode = result
End Function</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ── OneDrive URL → ローカルパス変換 ─</span><span style="color: #D8DEE9">─</span></span>
<span class="line"><span style="color: #D8DEE9">Private</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Function</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">GetLocalPath</span><span style="color: #D8DEE9FF">() </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">p</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ThisWorkbook</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Path</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> URLでなければそのまま返</span><span style="color: #D8DEE9">す</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Left</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">p</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">http</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">GetLocalPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #EBCB8B">\&quot;</span></span>
<span class="line"><span style="color: #A3BE8C">        Exit Functio</span><span style="color: #D8DEE9">n</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> OneDrive環境変数からローカルパスを推</span><span style="color: #D8DEE9">定</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">envKeys</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Variant</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">envKeys</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Array</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">OneDriveConsumer</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">OneDriveCommercial</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">OneDrive</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Object</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">WScript.Shell</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">envPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">UBound</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">envKeys</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Resume</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Next</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">envPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">ws</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">Environment</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Process</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)(</span><span style="color: #88C0D0">CStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">envKeys</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF">)))</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">On</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Error</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">GoTo</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">envPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">urlPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">urlPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">p</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> URLベース部分を除去 (https://domain/id/ の4番目の/以降</span><span style="color: #D8DEE9">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">slashPos</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">slashPos</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">For</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">cnt</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">To</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">4</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">slashPos</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">InStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">slashPos</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">urlPath</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">/</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">slashPos</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">For</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Next</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">slashPos</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">urlPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Mid</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">urlPath</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">slashPos</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> %XX をデコー</span><span style="color: #D8DEE9">ド</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">urlPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">URLDecode</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">urlPath</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> / → </span><span style="color: #EBCB8B">\ </span><span style="color: #A3BE8C">に置</span><span style="color: #D8DEE9">換</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">urlPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Replace</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">urlPath</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">/</span><span style="color: #ECEFF4">&quot;</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #EBCB8B">\&quot;</span><span style="color: #D8DEE9">)</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ローカルパス候補を生成して存在確</span><span style="color: #D8DEE9">認</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">localCandidate</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">localCandidate</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">envPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #EBCB8B">\&quot;</span><span style="color: #A3BE8C"> &amp; urlPath &amp; </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">\</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"></span>
<span class="line"><span style="color: #A3BE8C">            Dim fso As Objec</span><span style="color: #D8DEE9">t</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Set</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">CreateObject</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Scripting.FileSystemObject</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">fso</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">FolderExists</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">localCandidate</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">GetLocalPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">localCandidate</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Function</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 最初のサブフォルダを除いた候補も試す (OneDriveの階層ズレ対策</span><span style="color: #D8DEE9">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">firstSlash</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">firstSlash</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">InStr</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">urlPath</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #EBCB8B">\&quot;</span><span style="color: #D8DEE9">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">firstSlash</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&gt;</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">0</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">localCandidate</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">envPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #EBCB8B">\&quot;</span><span style="color: #A3BE8C"> &amp; Mid(urlPath, firstSlash + 1) &amp; </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF">\</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #A3BE8C">                If fso.FolderExists(localCandidate) The</span><span style="color: #D8DEE9">n</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">GetLocalPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">localCandidate</span></span>
<span class="line"><span style="color: #D8DEE9FF">                    </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Function</span></span>
<span class="line"><span style="color: #D8DEE9FF">                </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Next</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 自動解決失敗時: フォルダ選択ダイアロ</span><span style="color: #D8DEE9">グ</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">With</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">FileDialog</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">4</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Title</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Select dwglist folder</span><span style="color: #ECEFF4">&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Show</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">-</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">GetLocalPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">.</span><span style="color: #88C0D0">SelectedItems</span><span style="color: #D8DEE9FF">(</span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #EBCB8B">\&quot;</span></span>
<span class="line"><span style="color: #A3BE8C">        Els</span><span style="color: #D8DEE9">e</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">GetLocalPath</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;&quot;</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">With</span></span>
<span class="line"><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Function</span></span>
<span class="line"></span>
<span class="line"><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> ── URLデコード (%XX → 文字) ─</span><span style="color: #D8DEE9">─</span></span>
<span class="line"><span style="color: #D8DEE9">Private</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Function</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">URLDecode</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">ByVal</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">s</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Dim</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">result</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">String</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">As</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Long</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Do</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">While</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">s</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">If</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Mid</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">s</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">) </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">%</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">And</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&lt;=</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Len</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">s</span><span style="color: #D8DEE9FF">) </span><span style="color: #D8DEE9">Then</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">result</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">result</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Chr</span><span style="color: #D8DEE9FF">(</span><span style="color: #88C0D0">Val</span><span style="color: #D8DEE9FF">(</span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">&amp;H</span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Mid</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">s</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">2</span><span style="color: #D8DEE9FF">)))</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">3</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">Else</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">result</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">result</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #88C0D0">Mid</span><span style="color: #D8DEE9FF">(</span><span style="color: #D8DEE9">s</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span><span style="color: #D8DEE9FF">)</span></span>
<span class="line"><span style="color: #D8DEE9FF">            </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">i</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">+</span><span style="color: #D8DEE9FF"> </span><span style="color: #B48EAD">1</span></span>
<span class="line"><span style="color: #D8DEE9FF">        </span><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">If</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Loop</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">URLDecode</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">result</span></span>
<span class="line"><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Function</span></span></code></pre></div>



<p></p>



<p>クリーンUP</p>



<div class="wp-block-kevinbatdorf-code-block-pro" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff"><svg xmlns="http://www.w3.org/2000/svg" width="54" height="14" viewBox="0 0 54 14"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><circle cx="6" cy="6" r="6" fill="#FF5F56" stroke="#E0443E" stroke-width=".5"></circle><circle cx="26" cy="6" r="6" fill="#FFBD2E" stroke="#DEA123" stroke-width=".5"></circle><circle cx="46" cy="6" r="6" fill="#27C93F" stroke="#1AAB29" stroke-width=".5"></circle></g></svg></span><span role="button" tabindex="0" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>Cleanup:
    ' 画面更新・再計算・イベントを復元
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
    Exit Sub

ErrHandler:
    MsgBox "Error: " &amp; Err.Description &amp; vbCrLf &amp; _
           "Path: " &amp; folderPath, vbCritical
    Resume Cleanup
End Sub
</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2"></path></svg></span><pre class="shiki nord" style="background-color: #2e3440ff" tabindex="0"><code><span class="line"><span style="color: #D8DEE9FF">Cleanup</span><span style="color: #ECEFF4">:</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #ECEFF4">&#39;</span><span style="color: #A3BE8C"> 画面更新・再計算・イベントを復</span><span style="color: #D8DEE9">元</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">ScreenUpdating</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Calculation</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">xlCalculationAutomatic</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Application</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">EnableEvents</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">=</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">True</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Exit</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D8DEE9FF">ErrHandler</span><span style="color: #ECEFF4">:</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">MsgBox</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Error: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Err</span><span style="color: #ECEFF4">.</span><span style="color: #D8DEE9">Description</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCrLf</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">_</span></span>
<span class="line"><span style="color: #D8DEE9FF">           </span><span style="color: #ECEFF4">&quot;</span><span style="color: #A3BE8C">Path: </span><span style="color: #ECEFF4">&quot;</span><span style="color: #D8DEE9FF"> </span><span style="color: #81A1C1">&amp;</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">folderPath</span><span style="color: #ECEFF4">,</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">vbCritical</span></span>
<span class="line"><span style="color: #D8DEE9FF">    </span><span style="color: #D8DEE9">Resume</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Cleanup</span></span>
<span class="line"><span style="color: #D8DEE9">End</span><span style="color: #D8DEE9FF"> </span><span style="color: #D8DEE9">Sub</span></span>
<span class="line"></span></code></pre></div>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://manabinotes.com/%e3%80%90vba%e3%80%91%e3%82%bf%e3%82%a4%e3%83%88%e3%83%abonedrive-url-%e2%86%92-%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e3%83%91%e3%82%b9%e5%a4%89%e6%8f%9b%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
