1

似たような名前のワークシートの数を数えようとしています (たとえば、「East」で始まるすべて)。

シートを数えるために使用しているコードは次のとおりです。

Dim wb As Workbook
Dim ws As Worksheet
Dim myTotal As Long
Dim wsTotal As Long

For Each wb In Workbooks
    For Each ws In Worksheets
        If ws.Name Like "20 Out of Court" & "*" Then myTotal = myTotal + 1
    Next ws
Next wb
wsTotal = myTotal

特定のマシンでは、ワークシートの合計が 2 倍になることがあります。

4

1 に答える 1

1

以下のコードを試してください:

Sub sample()

    Dim wb As Workbook
    Dim ws As Worksheet
    Dim myTotal As Long
    Dim wsTotal As Long

    For Each wb In Workbooks
        For Each ws In Worksheets
            Debug.Print ws.Name
            If InStr(1,left(ws.Name,4), "East", vbTextCompare) > 0 Then ' will check for start with "East"..
                myTotal = myTotal + 1
            End If
        Next ws
    Next wb
    wsTotal = myTotal
End Sub
于 2013-02-28T15:19:09.367 に答える