Excel ワークブックに Data1、Data2 などのシートが含まれている可能性があります。知りたいのは、ワークブックにそのようなシートがいくつあるかです。
シート名を比較してカウントしようとしていました。しかし、それは正しく機能しませんでした。
誰かがここで私を助けてくれることを願っています。前もって感謝します。
これを試して
msgbox thisworkbook.sheets.count
ワークブックのシート数を返します。
「Data」のような名前のシートの数を返すには、次のようにします。
Dim iCountSheets As Integer
Dim oSheet As Worksheet
'
For Each oSheet In Sheets
If oSheet.Name Like "Data*" Then
iCountSheets = iCountSheets + 1
End If
Next
MsgBox iCountSheets & " sheets like data"
もう 1 つの方法は、シート コレクションをインデックスで反復処理することです。
Dim iCountSheets As Integer, iIdx As Integer
Dim oSheet As Worksheet
'
For iIdx = 1 To Sheets.Count ' non-zero based collection
If Sheets(iIdx).Name Like "Data*" Then
iCountSheets = iCountSheets + 1
End If
Next
MsgBox iCountSheets & " sheets like data"
これはあなたがしようとしていることですか?
'~~> Case Sensitive
Sub Sample()
Dim ws As Worksheet
Dim shCount As Long
For Each ws In ThisWorkbook.Sheets
If ws.Name Like "Data*" Then shCount = shCount + 1
Next ws
Debug.Print shCount
End Sub
'~~> Or use the below if you have sheets like data1, Data2, DaTa3 etc
Sub Sample()
Dim ws As Worksheet
Dim shCount As Long
For Each ws In ThisWorkbook.Sheets
If UCase(ws.Name) Like "DATA*" Then shCount = shCount + 1
Next ws
Debug.Print shCount
End Sub