Log.log(work)

いろんな作業メモ

VBAの備忘メモ(配列の宣言)

久しぶりにVBA

触ったら配列の宣言方法を忘れたのでメモ。

Variantってなかなか使わない言葉だったのですっかり忘れてました。

'数は要素数かと思いきやインデックスの最大数っぽい。1つ多いとEmpty値になる=空白?
Dim noUseCharacter(6) As Variant

ついでにワークシート名の文字チェックプロシージャー

Arrayを使うと要素数を最初に宣言しなくていいんだね。

探せばどこにでもありそうだけど。

Function chkSheetName(ByRef sheetName As String) As Boolean
    Dim noUseCharacter As Variant
    Dim str As Variant
    Const MaxNameSize As Integer = 31
    
    Dim errFlg As Boolean

    noUseCharacter = Array(":", "\", "/", "?", "*", "[", "]")  
    
    '桁数チェック
    If Len(sheetName) > MaxNameSize Then
        errFlg = True
    Else
        '使用できない文字チェック
        For Each str In noUseCharacter
            If InStr(sheetName, str) > 0 Then
                errFlg = True
                Exit For
            End If
        Next str
    End If
    
    chkSheetName = errFlg

End Function