アクセス上位ページ
 
最近の更新内容

Excel VBA ≫ 1.基礎編 - ワークシート(7)-e.ワークシートの名前

ワークシートの名前 - Name プロパティ

ワークシートの名前Name プロパティを使用することで値の取得・設定が可能です。



  • 【構文】
    object.Name
  • ※objectはworksheetオブジェクトを表す変数


  • Name プロパティの使用例
  • 追加するシート名をInputBoxで受け付け、シート名のチェック(文字数、使用不可能文字の有無)をしてから追加する例です。
    Sub sample_eb075_01()
        Dim strShtName      As String
        Dim mySheet         As Worksheet
        Dim flg_err         As Boolean
        Dim aryErrChar      As Variant
        Dim i               As Integer
    
        'シート名に使用できない文字の設定
        aryErrChar = Array(":", "\", "/", "?", "*", "[", "]")
    
        'シート名の入力受け付け
        strShtName = InputBox("追加するシート名を入力してください。")
    
        If strShtName = "" Then
            '「キャンセル」か「×」ボタンが押下された場合
            'またはシート名が未入力だった場合
            MsgBox "処理をキャンセルしました。", vbExclamation
            End     '処理終了
        End If
    
        'シート名の文字数チェック
        If Len(strShtName) > 31 Then
            MsgBox "シート名は31文字以内で入力してください。", vbCritical
            End
        End If
    
        'シート名に使用できない文字のチェック
        flg_err = False
        For i = 0 To UBound(aryErrChar)
            If InStr(1, strShtName, CStr(aryErrChar(i))) > 0 Then
                flg_err = True
                Exit For
            End If
        Next i
    
        If flg_err Then
            'シート名に使用不可能文字が含まれている場合
            MsgBox "シート名に使用不可能文字が含まれています。" & vbLf & _
                   "【使用不可能文字】" & vbLf & _
                   """" & Join(aryErrChar, """  """) & """", vbCritical
            End
        End If
    
        '入力されたシート名の存在チェック
        flg_err = False
        For Each mySheet In Worksheets
            If mySheet.Name = strShtName Then
                flg_err = True  'シートがすでに存在している
                Exit For
            End If
        Next
    
        If flg_err Then
            'シートが存在している場合
            MsgBox "入力されたシート名『" & strShtName & _
                   "』がすでに存在しています。", vbCritical
            End
        End If
    
        'シートの追加および名前の変更
        With Worksheets.Add(After:=Worksheets(Worksheets.Count))
            .Name = strShtName
        End With
    
        MsgBox "シート『" & strShtName & _
               "』を追加しました。", vbInformation
    End Sub
    
    ⇒ サンプルマクロ集 へ

  • サンプルマクロ実行前の状態
  • サンプルマクロ実行前の状態
  • [ キャンセル ] ボタンを押下した場合
  • [キャンセル]ボタンを押下した場合 処理がキャンセルされたメッセージを表示
  • シート名に32文字入力した場合
  • シート名に32文字入力した場合 シート名は31文字以下のメッセージを表示
  • シート名で使用不可能な文字(アスタリスク)を入力した場合
  • シート名で使用不可能な文字(アスタリスク)を入力した場合 使用不可能文字のメッセージを表示
  • 既に存在しているシート名を入力した場合
  • 既に存在しているシート名を入力した場合 シート名が存在しているメッセージを表示
  • シート名を正しく入力した場合
  • シート名を正しく入力した場合 シート名が追加されたメッセージを表示 マクロ実行後
  • 参考(シート名のエラー情報)
  • シート名にエラーがあると以下のメッセージが表示されます。 シート名のエラー情報
カテゴリ内ページ



Page
Top