• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBAのFileSearch機能)

Excel VBAのFileSearch機能が動かない問題への対応方法

このQ&Aのポイント
  • Excel VBAのFileSearch機能がExcel 2013では使用できなくなった問題について質問します。XP問題で社内PCが全て変わり、Excelも2013になったため、以前のマクロが動かなくなりました。Excel 2013でも動作するようにどの部分を変更すれば良いか教えてください。
  • 社内PCの変更に伴い、Excel VBAのFileSearch機能が動かなくなった問題について質問します。XP問題のために社内PCが全て変更され、Excelも2013にアップグレードされたため、以前のマクロが動作しなくなりました。Excel 2013でもFileSearch機能を使用するためにはどのような変更が必要でしょうか。
  • Excel VBAのFileSearch機能がExcel 2013では使用できなくなった問題について質問があります。社内PCがXP問題で全て変わり、Excelも2013にアップグレードされたため、以前のマクロが動かなくなりました。Excel 2013でも問題なく動作させるためにはどの部分を修正すれば良いのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • t-aka
  • ベストアンサー率36% (114/314)
回答No.1

例えば、こんな感じでいかがでしょうか。 ---------- Sub 作成() Dim i As Integer, j As Integer, no As Integer Dim Mpath As String, Mname As String, Mfull As String Mpath = ActiveWorkbook.Path Mname = ActiveWorkbook.Name Mfull = Mpath & "\" & Mname Worksheets("一覧").Select Range("A2:A200").Clear Dim result() As String Call search(Mpath, result()) If UBound(result) > 0 Then For i = 0 To UBound(result) If result(i) <> Mfull Then Cells(i + 1, 1).Value = result(i) j = Len(Cells(i + 1, 1)) If j > 218 Then MsgBox ("218文字を超えてます。") Exit Sub End If End If Next i Else MsgBox ("見つかりませんでした。") End If Range("A2").Select Range("A2:A1000").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:= _ xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin, DataOption1:=xlSortNormal End Sub Sub search(Mpath As String, result() As String) Dim arrayFilePath As String arrayFilePath = Dir(Mpath & "*.xls") Dim i As Integer i = 0 ReDim result(i) Do Until arrayFilePath = "" ReDim Preserve result(i) result(i) = Mpath & arrayFilePath i = i + 1 arrayFilePath = Dir() Loop End Sub

すると、全ての回答が全文表示されます。

関連するQ&A