開いているエクセルブックの中から、特定ブック名のみ、配列で取得したい場合があります。
パーツ化した処理で配列に特定のブック名を一括で格納します。
開いている特定のブック名を配列に格納するサンプルコード
'■開いている特定ブックのみブック名を配列に格納する
Public Function call_GetBookNameToArrayspecific(str As String)
Dim tmp() As Variant
Dim wb As Workbook
Dim i As Long: i = 0
For Each wb In Workbooks
'■ブック名がstrを含めば配列に格納
If InStr(wb.Name, str) > 0 Then
i = i + 1
ReDim Preserve tmp(1 To i)
tmp(i) = wb.Name
End If
Next wb
call_GetBookNameToArrayspecific = tmp
End Function
実際の使い方
Public Sub sample()
'■開いているブックのうち、特定ブック名を配列に格納/拡張子はなしで取得。
Dim wbNameArray As Variant
wbNameArray = call_GetBookNameToArrayspecific("月")
End Sub
その他
- Workbooks.Countで都度ループさせることができますが、配列に入れた方が便利な場合は本コードを使用します。



コメント