エクセル マクロ 便利なのでメモ。
ネタ元
http://ezolab-blog.net/blog-entry-88.html
スネークケースをキャメルケースに変換
Public Function SnakeToCamel(ByVal val As String, Optional ByVal isFirstUpper As Boolean = False) As String
Dim ret As String
Dim i As Long
Dim snakeSplit As Variant
snakeSplit = Split(val, "_")
For i = LBound(snakeSplit) To UBound(snakeSplit)
ret = ret & UCase( _
Mid(snakeSplit(i), 1, 1)) & _
Mid(snakeSplit(i), 2, Len(snakeSplit(i)) _
)
Next
If isFirstUpper Then
SnakeToCamel = ret
Else
SnakeToCamel = LCase(Mid(ret, 1, 1)) & Mid(ret, 2, Len(ret))
End If
End Function
キャメルケースをスネークケースに変換
Public Function CamelToSnake(ByVal val As String, Optional ByVal isUpper As Boolean = False) As String
Dim ret As String
Dim i As Long
Dim length As Long
length = Len(val)
For i = 1 To length
If UCase(Mid(val, i, 1)) = Mid(val, i, 1) Then
' 大文字
If i = 1 Then
' 最初の文字なら、アンダースコアは付与しない
ret = ret & Mid(val, i, 1)
ElseIf i > 1 And UCase(Mid(val, i - 1, 1)) = Mid(val, i - 1, 1) Then
' 前の文字が大文字なら、アンダースコアは付与しない
ret = ret & Mid(val, i, 1)
Else
' 小文字なのでアンダースコアを付与
ret = ret & "_" & Mid(val, i, 1)
End If
Else
' 小文字
ret = ret & Mid(val, i, 1)
End If
Next
If isUpper Then
CamelToSnake = UCase(ret)
Else
CamelToSnake = LCase(ret)
End If
End Function
demicadeが昔苦労したなぁ・・・・。(遠い目)ってことが書いてあるサイトを見つけたので、リンク貼っておきます。
初心者の時の苦しみ:初心者プログラマがスキルアップするための方法
30代の転職:(経験者)IT業界に30代未経験で転職する方法