質問は非常に広いですが、この基本的なロジックが役立つ場合があります。
この投稿を使用して、ディレクトリをループする方法を見つけてください:
Excel/VBA をループする追加のディレクトリを指定してください。
このコード テンプレートは、開始するのに十分な情報を提供するはずです。それに取り組み、質問を改善してください。さらに支援できる場合があります。
Option Explicit
Sub CopySomeSheets()
' Loop through directory as in Question of this post
Dim wb As Workbook
Dim ws As Worksheet
Dim cityNameList() As Variant
Dim cityName As Variant
' Pseudocode, next line is a dummy to make example code run
Set wb = ActiveWorkbook
' For Each wb In directory, as from post above
For Each ws In wb.Worksheets
For Each cityName In cityNameList
' Could do this as a loop for each country or think a bit more and produce a smarter iteration with range lookup/2d array or somethnig to better match the shape of your data
cityNameList = Range("A1:A10") ' List of cities are in this range
If InStr(ws.Name, cityName) Then
' Do stuff, i.e. save workbook with required name
End If
Next cityName
Next ws
' Next wb
End Sub