-2

次のことを行うための VBA コードを作成しようとしています。

  1. 特定のフォルダーには複数の Excel ファイルが含まれており、各タブには (たとえば) 都市の名前が付いています。

  2. Excel リストは、都市が属する国を定義します。(列 A = ロンドン、パリ、ボストン、ニューヨーク、列 B = イギリス、フランス、アメリカ、アメリカ)

  3. フォルダーをループし、すべての都市を再グループ化する国ごとに追加のファイルを作成するコードが必要です (都市ごとに 1 つのタブしかありませんが、複数のファイルがあります)。

これまでのところ、私が試したことは何もないようです。

4

1 に答える 1

0

質問は非常に広いですが、この基本的なロジックが役立つ場合があります。

この投稿を使用して、ディレクトリをループする方法を見つけてください: 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
于 2013-02-24T15:03:40.243 に答える