開いているエクセルブックの中から、特定ブック名のみ、配列で取得したい場合があります。
パーツ化した処理で配列に特定のブック名を一括で格納します。
開いている特定のブック名を配列に格納するサンプルコード
'■開いている特定ブックのみブック名を配列に格納する 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で都度ループさせることができますが、配列に入れた方が便利な場合は本コードを使用します。
コメント