<?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>文字検索 - プログラミングで遊ブログ</title>
	<atom:link href="https://lemon818.com/tag/%E6%96%87%E5%AD%97%E6%A4%9C%E7%B4%A2/feed/" rel="self" type="application/rss+xml" />
	<link>https://lemon818.com</link>
	<description>現役システムエンジニアが趣味でプログラミングする自由気ままなブログ</description>
	<lastBuildDate>Mon, 07 Feb 2022 10:32:38 +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"/>	<item>
		<title>サブフォルダ含むすべてのフォルダの Excel を文字検索するマクロ！</title>
		<link>https://lemon818.com/excel-search-word/</link>
		
		<dc:creator><![CDATA[Take]]></dc:creator>
		<pubDate>Wed, 02 Jun 2021 15:25:14 +0000</pubDate>
				<category><![CDATA[Excel]]></category>
		<category><![CDATA[Excel マクロ]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[エクセル]]></category>
		<category><![CDATA[サブフォルダ]]></category>
		<category><![CDATA[フォルダ]]></category>
		<category><![CDATA[文字検索]]></category>
		<guid isPermaLink="false">https://lemon818.com/?p=5694</guid>

					<description><![CDATA[ある日仕事で「フォルダの Excel ファイルからこのキーワード探しといて～」と言われて文字検索しまくった経験ありませんか？ &#160; そんなことしたら日が暮れるわ！！！ そう思いながら Excel ファイルをひとつ…]]></description>
										<content:encoded><![CDATA[<div class="sc_frame_wrap solid yellow">
<div></div>
<div class="sc_frame "><strong><span style="color: #000000;">ある日仕事で</span><span style="color: #ff0000;">「フォルダの Excel ファイルからこのキーワード探しといて～」</span><span style="color: #000000;">と言われて文字検索しまくった経験ありませんか？</span></strong></div>
</div>
<p>&nbsp;</p>
<p>そんなことしたら<span style="color: #ff0000; font-size: 24px;">日が暮れるわ！！！</span></p>
<p>そう思いながら Excel ファイルをひとつひとつ探した。</p>
<p>そんなつらい思いをされた方もいるかもしれません。</p>
<p>&nbsp;</p>
<p>また Excel ファイルというのは、外部ツール（たとえばサクラエディタの grep 機能など）で検索できません。</p>
<p>そんな状況で<span style="color: #ff0000;"><strong>大量の Excel ファイル から文字検索するの～～～</strong></span></p>
<p>&nbsp;</p>
<p>ですが、そんな悩みも今日で解消です。</p>
<p>この度、<span style="color: #3366ff;"><strong>サブフォルダ含むすべてのフォルダの Excel を文字検索するマクロ</strong><span style="color: #000000;">を作成しました！！</span><strong><br />
</strong></span></p>
<p>&nbsp;</p>
<p><img fetchpriority="high" decoding="async" src="https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-word.gif" alt="" width="1044" height="402" class="aligncenter size-full wp-image-5707" /></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>このページでは<span style="color: #3366ff;"><strong>サブフォルダ含むすべてのフォルダの Excel を文字検索するマクロ</strong><span style="color: #000000;">の使い方と作成方法についてご紹介します。</span></span></p>
<p>もしよければ参考にしてみてください。</p>
<p>※ いつものようにつくったのも共有しときますので、よければどうぞ。</p>
<p><strong><span style="color: #ff0000;">※ 2022/02/07 マクロに一部バグがあったので、修正しました。</span></strong></p>
<p>&nbsp;</p>
<div class="button frame block green"><a class="midium" href="https://lemon818.com/wp/wp-content/uploads/2022/02/searchMacro_ver1.1.xlsm">サブフォルダ含むすべてのフォルダの Excel を文字検索するマクロ</a></div>
<div>
<p>&nbsp;</p>
<h2>「サブフォルダ含むすべてのフォルダの Excel を文字検索するマクロ」の使い方</h2>
<p>「サブフォルダ含むすべてのフォルダの Excel を文字検索するマクロ」の使い方は下記になります。</p>
<p>&nbsp;</p>
<div class="sc_frame_wrap orange">
<div class="sc_frame ">
<div class="sc_frame_text">
<div class="sc_designlist ol square solid orange">
<ol>
<li>検索ワードを入力する</li>
<li>検索ボタンを押下する</li>
<li>フォルダダイアログが表示されるので、検索したいフォルダを選択する</li>
</ol>
</div>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
<div>
<p>これだけです。それでは実際にやってみるとします。</p>
</div>
<p>まず検索ワードを B3 セルになんでもいいのでいれます。</p>
<p><span style="color: #ff0000;"><strong>この時入力し忘れていれば、後の検索処理できないようになっています。</strong></span></p>
<p>&nbsp;</p>
<p><img decoding="async" src="https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file1.png" alt="" width="752" height="156" class="aligncenter size-full wp-image-5723" srcset="https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file1.png 752w, https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file1-300x62.png 300w" sizes="(max-width: 752px) 100vw, 752px" /></p>
<p>&nbsp;</p>
<p>そして検索ボタンを押下します。</p>
<p>&nbsp;</p>
<p><img decoding="async" src="https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file2.png" alt="" width="966" height="140" class="aligncenter size-full wp-image-5724" srcset="https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file2.png 966w, https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file2-300x43.png 300w, https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file2-768x111.png 768w" sizes="(max-width: 966px) 100vw, 966px" /></p>
<p>&nbsp;</p>
<p>するとフォルダダイアログが表示されます。</p>
<p>ここでは<span style="color: #3366ff;"><strong>検索先のフォルダを選択して</strong></span>OKをクリックします。</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" src="https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file3.png" alt="" width="923" height="531" class="aligncenter size-full wp-image-5725" srcset="https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file3.png 923w, https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file3-300x173.png 300w, https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file3-768x442.png 768w" sizes="auto, (max-width: 923px) 100vw, 923px" /></p>
<p>&nbsp;</p>
<p>検索処理が実行され、検索結果が表示されます。</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" src="https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file4.png" alt="" width="1054" height="484" class="aligncenter size-full wp-image-5726" srcset="https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file4.png 1054w, https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file4-300x138.png 300w, https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file4-1024x470.png 1024w, https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file4-768x353.png 768w" sizes="auto, (max-width: 1054px) 100vw, 1054px" /></p>
<p>&nbsp;</p>
<p>ここで「サブフォルダ含むすべてのフォルダの Excel を文字検索するマクロ」の仕様について書いておきます。</p>
<p>&nbsp;</p>
<div class="sc_frame_wrap block orange">
<div class="sc_frame_title">仕様</div>
<div class="sc_frame ">
<div class="sc_frame_text">
<div class="sc_designlist ol square solid orange">
<ol>
<li>この検索処理は「.xls*」の拡張子がついているファイルに対して実行されます。</li>
<li>Excel ファイルに保護がかかっている、もしくは非表示シートがある場合もその処理は検索対象となります。</li>
<li>パスワード保護がかかっている Excel ファイルは読み込まれません。</li>
</ol>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
<div>
<h2>「サブフォルダ含むすべてのフォルダの Excel を文字検索するマクロ」の作り方</h2>
<p><span style="color: #ff0000;"><strong>ここからプログラミングの少し難しい話になります！！</strong></span></p>
</div>
<p>「サブフォルダ含むすべてのフォルダの Excel を文字検索するマクロ」の作り方です。</p>
<p>今回は Excel VBA をつかって処理を実現しています。</p>
<p>処理の中身はこんな感じになっています。</p>
<p>&nbsp;</p>
<div class="sc_frame_wrap block blue">
<div class="sc_frame_title">この記事でわかること！</div>
<div class="sc_frame ">
<div class="sc_frame_text">
<div class="sc_designlist ol square solid blue">
<ol>
<li>定数と変数を定義</li>
<li>出力先シート「search」を初期化</li>
<li>フォルダダイアログを表示してフォルダパスを取得</li>
<li>取得したフォルダパスをもとに Excel ファイル一覧を取得</li>
<li>取得した Excel ファイルを開き、Cells.Find をつかって文字を検索</li>
<li>検索結果をシートに出力</li>
</ol>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
<p>多いように見えますが、これを処理に起こせば「サブフォルダ含むすべてのフォルダの Excel を文字検索するマクロ」は実現できます。</p>
<p>&nbsp;</p>
<h3>定数と変数を定義</h3>
<p>まずはこれらを VBA 処理上でよく使う定数と変数を定義します。</p>
<p>&nbsp;</p>
<div class="sc_frame_wrap orange">
<div class="sc_frame ">
<div class="sc_frame_text">
<div class="sc_designlist ol square solid orange">
<ol>
<li>SEARCH_WORD・・・検索するファイルの拡張子「\*.xls*」</li>
<li>SHEET_OUTPUT・・・出力先のシート名「search」</li>
<li>CELL_PRINT_COL・・・出力するシートの初期位置（列）、つまり１列目</li>
<li>CELL_PRINT_ROW・・・出力するシートの初期位置（行）、つまり6行目</li>
<li>CELL_SEARCH_WORD・・・検索ワードがあるセル、つまりＢ3セルを格納</li>
<li>nowRow・・・変数、現在出力している行を格納</li>
</ol>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
<h3>出力先シート「search」の初期化</h3>
<p>つぎに出力先シート「search」を初期化する処理です。</p>
<p>これは出力する初期の列、行（つまり A6セル）から Excel の最終セルの範囲で値を削除します。</p>
<p>&nbsp;</p><pre class="crayon-plain-tag">' シートの初期化
Private Sub reset()

Application.ScreenUpdating = False

Range(Cells(CELL_PRINT_ROW, CELL_PRINT_COL), Cells(Rows.Count, Columns.Count)).ClearContents

Application.ScreenUpdating = True

End Sub</pre><p>
&nbsp;</p>
<h3>フォルダダイアログを表示してフォルダパスを取得</h3>
<p>つぎにフォルダダイアログを表示させてフォルダパスを取得します。</p>
<p>フォルダダイアログっていうのはこれです↓</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" src="https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file3.png" alt="" width="722" height="416" class="aligncenter wp-image-5725" srcset="https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file3.png 923w, https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file3-300x173.png 300w, https://lemon818.com/wp/wp-content/uploads/2021/06/excel-search-file3-768x442.png 768w" sizes="auto, (max-width: 722px) 100vw, 722px" /></p>
<p>&nbsp;</p>
<p>Application.FileDialog(msoFileDialogFolderPicker)を用いることで</p>
<p>フォルダダイアログで選択しその結果がフォルダパスが取得できます。</p>
<p>またキャンセルが押下された場合、そのまま処理が終了するように条件分岐しています。</p>
<p>&nbsp;</p><pre class="crayon-plain-tag">Private Function getFolderName()

    Dim folderPath As Variant
    
    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show = 0 Then
            End
        End If
        folderPath = .SelectedItems(1)
    End With
    
    getFolderName = folderPath
  
End Function</pre><p>
&nbsp;</p>
<h3>取得したフォルダパスをもとに Excel ファイル一覧を取得</h3>
<p>前章「フォルダダイアログを表示してフォルダパスを取得」で取得したフォルダパスしたパスをもとに</p>
<p>Excel ファイル一覧を取得します。</p>
<p>&nbsp;</p><pre class="crayon-plain-tag">' 再帰的にファイルを検索
Private Sub searchFile(ByVal Path As String, ByRef myBook As Workbook)

    On Error Resume Next

    Dim buf As String, f As Object
    buf = Dir(Path &amp; SEARCH_WORD)
    
    searchWord = Range(CELL_SEARCH_WORD)
        
    Do While buf &lt;&gt; ""
        
        Call grepExcel(searchWord, myBook, Path, buf)
        buf = Dir()
        
    Loop
    
    With CreateObject("Scripting.FileSystemObject")
        For Each f In .GetFolder(Path).SubFolders
            Call searchFile(f.Path, myBook)
        Next f
    End With

End Sub</pre><p>
&nbsp;</p>
<p>フォルダパスの値が Path という変数に格納されていますが、これを Dir 関数に渡すことで</p>
<p>フォルダのフルパスが取得できます。</p>
<p>&nbsp;</p>
<p>myBookとは今回作成するマクロ自体の情報を格納しています。</p>
<p>これをすることで検索結果出力先のシートをわかりやすくしています。</p>
<p>（検索結果を書き込む際に myBook を呼び出せば、間違えずに書き込むことができます）。</p>
<p>&nbsp;</p>
<p>またサブフォルダを含めて計算するために再帰処理にしています。</p>
<p>つまり 上記の searchFile() が処理が完了した後にそのフォルダ内にサブフォルダがあれば、</p>
<p>もう一回 searchFile() を呼び出しています。</p>
<p>これをすることで<span style="color: #3366ff;"><strong>フォルダ内にサブフォルダがなくなるまでずーっと処理が続くようになっています。</strong></span></p>
<p>&nbsp;</p>
<h3>取得した Excel ファイルを開き、Cells.Find をつかって文字を検索</h3>
<p>ここでは 前章「取得したフォルダパスをもとに Excel ファイル一覧を取得」で取得した</p>
<p>Excel ファイルをopen で開き、その開いたファイルのシート一つ一つに対して</p>
<p>Cells.Find をつかって文字検索を実施します。</p>
<p>&nbsp;</p>
<p>この際に、文字検索結果が複数ある場合も考慮し、</p>
<p>Cells.FindNextをつかって次の検索文字がなくなるまでループ処理をします。</p>
<p>&nbsp;</p><pre class="crayon-plain-tag">' Excel ファイル内の文字検索
Private Sub grepExcel(ByVal searchWord, ByRef myBook As Workbook, ByVal Path As String, ByVal buf As String)

    Dim filePath
    Dim wb As Workbook
    Dim readSheet As Worksheet
    Dim Rng As Range
    Dim findResult

    fullPath = Path &amp; "\" &amp; buf

    Application.DisplayAlerts = False
    Application.ScreenUpdating = False

    Set wb = Workbooks.Open(Filename:=fullPath, UpdateLinks:=0, ReadOnly:=True, IgnoreReadOnlyRecommended:=True, Password:="")
    
    If Err.Number = 1004 Then
        
        Err.Clear
    
    Else
    
        For Each mysheet In wb.Worksheets
            
            Set findResult = mysheet.Cells.Find(searchWord, LookAt:=xlPart)
            Dim findCell As Range
            Set findCell = findResult
            
            If Not (findCell Is Nothing) And Not (findResult Is Nothing) Then
            
                Do
                    If Not (findCell Is Nothing) And Not (findResult Is Nothing) Then
                        Call writeSheet(myBook, Path, buf, mysheet, findCell)
                        Set findCell = mysheet.Cells.FindNext(findCell)
                        If findCell Is Nothing Then
                            Exit For
                        End If
                    Else
                        Exit For
                    End If
                Loop While findCell.Row &lt;&gt; findResult.Row
                    
            End If
            
        Next

    End If

    wb.Close savechanges:=False
    
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True

End Sub</pre><p>
&nbsp;</p>
<h4>パスワードつきExcel ファイルの無視する</h4>
<p>&nbsp;</p>
<p>ここでの処理で「If Err.Number = 1004 Then ～ 」というあまり見慣れないものがあると思います。</p>
<p>これはパスワードつきの Excel を開くときのエラーを無視するようにしています。</p>
<p>&nbsp;</p>
<p>エラー1004コードを受け取った場合、Err.Clearとすることでエラーコードを削除します。</p>
<p>&nbsp;</p>
<h3>検索結果をシートに出力</h3>
<p>最後に検索した結果が存在する場合、出力先のシート「search」に出力します。</p>
<p>このとき検索結果のセル位置が存在しない場合、出力しないように条件式を追加しています。</p>
<p>&nbsp;</p><pre class="crayon-plain-tag">' 検索結果を出力
Private Sub writeSheet(ByRef myBook As Workbook, _
                        ByVal Path As String, _
                        ByVal buf As String, _
                        ByRef mysheet, _
                        ByRef findCell As Range)

    Dim outputSheet
    Dim outputCell
    
    Set outputSheet = myBook.Worksheets(SHEET_OUTPUT)
    
    outputCell = Split(Columns(findCell.Column).Address, "$")(2) &amp; findCell.Column
    
    If outputCell &lt;&gt; "" Then
        
        outputSheet.Cells(nowRow, CELL_PRINT_COL) = buf
        outputSheet.Cells(nowRow, CELL_PRINT_COL + 1) = Path
        outputSheet.Cells(nowRow, CELL_PRINT_COL + 2) = mysheet.Name
        outputSheet.Cells(nowRow, CELL_PRINT_COL + 3) = outputCell
        nowRow = nowRow + 1
    
    End If

End Sub</pre><p>
&nbsp;</p>
<h3>「サブフォルダ含むすべてのフォルダの Excel を文字検索するマクロ」の全ソース</h3>
<p>最後にソースコード全部を紹介します。</p>
<div>
<p>いままで長々と説明していましたが、<span style="color: #3366ff;"><strong>これを貼り付ければ動きます。</strong></span></p>
</div>
<p>また前章までの説明では「<strong>searchMacro()</strong>」がないと思いますが、これが<strong>今回のメイン処理</strong>です。</p>
<p>&nbsp;</p>
<div>
<pre class="crayon-plain-tag">'=================================================================================
' フォルダ（サブフォルダ含む）内の Excel ブックの文字を検索するマクロ
'=================================================================================

Const SEARCH_WORD = "\*.xls*"
Const SHEET_OUTPUT = "search"
Const CELL_PRINT_COL = 1
Const CELL_PRINT_ROW = 6
Const CELL_SEARCH_WORD = "B3"

Dim nowRow As Long


' メイン処理
Sub searchMacro()

    Dim buf As String
    Dim Path As String
    Dim myBook As Workbook
    nowRow = CELL_PRINT_ROW
    Set myBook = ThisWorkbook
    
    If Range(CELL_SEARCH_WORD) &lt;&gt; "" Then
            
        Path = getFolderName()
        
        Call reset
        
        Call searchFile(Path, myBook)
        
        If nowRow = CELL_PRINT_ROW Then
            
            MsgBox "検索結果：「" &amp; Range(CELL_SEARCH_WORD) &amp; "」が含まれるファイルはありませんでした。"
            
        Else
        
            MsgBox "検索結果：「" &amp; Range(CELL_SEARCH_WORD) &amp; "」が含まれるファイルが" &amp; nowRow - CELL_PRINT_ROW &amp; "件ヒットしました！"
                
        End If
        
    
    Else
    
        MsgBox "検索ワードを入力してください"
    
    End If
    
End Sub

' シートの初期化
Private Sub reset()
    
    Application.ScreenUpdating = False
    
    Range(Cells(CELL_PRINT_ROW, CELL_PRINT_COL), Cells(Rows.Count, Columns.Count)).ClearContents
     
    Application.ScreenUpdating = True
    
End Sub


' 再帰的にファイルを検索
Private Sub searchFile(ByVal Path As String, ByRef myBook As Workbook)

    On Error Resume Next

    Dim buf As String, f As Object
    buf = Dir(Path &amp; SEARCH_WORD)
    
    searchWord = Range(CELL_SEARCH_WORD)
        
    Do While buf &lt;&gt; ""
        
        Call grepExcel(searchWord, myBook, Path, buf)
        buf = Dir()
        
    Loop
    
    With CreateObject("Scripting.FileSystemObject")
        For Each f In .GetFolder(Path).SubFolders
            Call searchFile(f.Path, myBook)
        Next f
    End With

End Sub


' ダイアログでフォルダ名取得
Private Function getFolderName()

    Dim folderPath As Variant
    
    With Application.FileDialog(msoFileDialogFolderPicker)
        If .Show = 0 Then
            End
        End If
        folderPath = .SelectedItems(1)
    End With
    
    getFolderName = folderPath
  
End Function


' Excel ファイル内の文字検索
Private Sub grepExcel(ByVal searchWord, ByRef myBook As Workbook, ByVal Path As String, ByVal buf As String)

    Dim filePath
    Dim wb As Workbook
    Dim readSheet As Worksheet
    Dim Rng As Range
    Dim findResult

    fullPath = Path &amp; "\" &amp; buf

    Application.DisplayAlerts = False
    Application.ScreenUpdating = False

    Set wb = Workbooks.Open(Filename:=fullPath, UpdateLinks:=0, ReadOnly:=True, IgnoreReadOnlyRecommended:=True, Password:="")
    
    If Err.Number = 1004 Then
        
        Err.Clear
    
    Else
    
        For Each mysheet In wb.Worksheets
            
            Set findResult = mysheet.Cells.Find(searchWord, LookAt:=xlPart)
            Dim findCell As Range
            Set findCell = findResult
            
            If Not (findCell Is Nothing) And Not (findResult Is Nothing) Then
            
                Do
                    If Not (findCell Is Nothing) And Not (findResult Is Nothing) Then
                        Call writeSheet(myBook, Path, buf, mysheet, findCell)
                        Set findCell = mysheet.Cells.FindNext(findCell)
                        If findCell Is Nothing Then
                            Exit For
                        End If
                    Else
                        Exit For
                    End If
                Loop While findCell.Row &lt;&gt; findResult.Row
                    
            End If
            
        Next

    End If

    wb.Close savechanges:=False
    
    Application.ScreenUpdating = True
    Application.DisplayAlerts = True

End Sub


' 検索結果を出力
Private Sub writeSheet(ByRef myBook As Workbook, _
                        ByVal Path As String, _
                        ByVal buf As String, _
                        ByRef mysheet, _
                        ByRef findCell As Range)

    Dim outputSheet
    Dim outputCell
    
    Set outputSheet = myBook.Worksheets(SHEET_OUTPUT)
    
    outputCell = Split(Columns(findCell.Column).Address, "$")(2) &amp; findCell.Row
    
    If outputCell &lt;&gt; "" Then
        
        outputSheet.Cells(nowRow, CELL_PRINT_COL) = buf
        outputSheet.Cells(nowRow, CELL_PRINT_COL + 1) = Path
        outputSheet.Cells(nowRow, CELL_PRINT_COL + 2) = mysheet.Name
        outputSheet.Cells(nowRow, CELL_PRINT_COL + 3) = outputCell
        nowRow = nowRow + 1
    
    End If

End Sub</pre>
</div>
<p>&nbsp;</p>
<div>
<h2>最後に</h2>
<p>&nbsp;</p>
<p>いかがでしたでしょうか？</p>
<p>この記事では、<strong>サブフォルダ含むすべてのフォルダの Excel を文字検索するマクロ</strong>について解説しました。</p>
</div>
<p>&nbsp;</p>
<p>これで<span style="color: #3366ff;"><strong>大量のフォルダの中から膨大な Excel ブックを検索することは日々はなくなる</strong></span>と思います。</p>
<div>
<p>この記事が読者の何かのお役に立てれば幸いです。</p>
<p>もしこの記事が良いと思ったら SNS とかでシェアしてもらえると嬉しいです。</p>
<p>ではでは。</p>
</div>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
