質問: dir() loop end sub
回答: パスとファイルの区切りに"\"がありません。(Dir()への引数のパスなど) 以下のように変更してみて下さい。 ``` myFile = Dir(myPath & "\" & "*.xlsx") Do Until myFile = "" 'ブックを開いて処理を行い保存して閉じる Workbooks.Open myPath & "\" & myFile ``` 因みに、「名前」はBook単位なので、`Sheets("Sheet1").Select`は不要ですね。 追記 参考までに、Namesコレクションのようなコレクションの操作にはFor Eachを使用すると簡潔な記述になります。 ``` Sub macro1() Dim myPath As String Dim myFile As String Dim nm As Name myPath = ThisWorkbook.Path & "\" '指定フォルダのブックを順繰り拾う myFile = Dir(myPath & "*.xlsx") Do Until myFile = "" 'ブックを開いて処理を行い保存して閉じる Workbooks.Open myPath & myFile For Each nm In ActiveWorkbook.Names Select Case nm.Name Case "該当するワード1", "該当するワード2" nm.Delete End Select Next ActiveWorkbook.Close savechanges:=True myFile = Dir() Loop End Sub ``` 「名前」の定義を全て削除したいなら、Select Case~による判定は不要ですし、削除したくないものを限定したいなら、CASE で削除したくないものを指定してelseで削除を行えば記述が少なくて済みます。