(Mini VBA No2)「シート名指定で新規ブックを開く」

No1を使用して、こんな事もしてみました。

Sub test()
    Dim newbk   As Workbook
    Set newbk = createBookWithSheets(Array("北海道", "東京", "大阪", "沖縄"))
    Set newbk = createBookWithSheets("日本")
End Sub


' 新規ブック作成
'
' 概要:
'   指定された名前のワークシートのみで構成されたブックを作成する。
'   単一のシート名が指定された場合はそのシート1つ、配列で指定された場合は
'   その全てのワークシートが挿入される。
'
' INPUT     : sheetNames    挿入するシート名またはその配列
' OUTPUT    : ---
' RETURN    : 作成されたブック
'
' @author   iiyan.net
' @date     2001/10/18
' @version  1.0

Function createBookWithSheets(sheetNames As Variant) As Workbook
    Dim sheetCount  As Integer
    Dim i           As Integer
    Dim bk          As Workbook

    If (IsNull(sheetNames)) Then
        Set createBookWithSheets = Nothing
    Else
        If (IsArray(sheetNames)) Then
            sheetCount = UBound(sheetNames) - LBound(sheetNames) + 1
            Set bk = createBook(sheetCount)
            For i = 1 To sheetCount
                bk.Worksheets(i).Name = sheetNames(i - 1)
            Next i
        Else
            Set bk = createBook(1)
            bk.Worksheets(1).Name = sheetNames
        End If
        Set createBookWithSheets = bk
    End If
End Function

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください