1
0

文字を連結するエクセルマクロ

Posted at

はじめに

文字を連結するエクセルマクロを作成しました。エクセル関数でも単純なものならいいのですが、複雑な場合よく分からなくなるのでその時用です。

先頭文字を大文字にして返却する関数も途中で入れています。
エクセル標準の「PROPER」関数は英字の先頭を大文字にしますが、2文字目以降を小文字に変換してしまうので使用しませんでした。

ソース

MojiRenketu.txt
Sub MojiRenketu()

    Dim kansei As String: kansei = "" '完成形
    Dim outCount As Long: outCount = 0  '出力数
    Dim rowCount As Long: rowCount = 0  '列数
    
    
    '出力数カウント
    Do
        '// セル値が未設定の場合
        If Cells(outCount + 1, 1).Value = "" Then
            '// ループを抜ける
            Exit Do
        End If
        
        '// ループカウンタを加算
        outCount = outCount + 1
    Loop
    
    '列数カウント
    Do
        '// セル値が未設定の場合
        If Cells(3, rowCount + 1).Value = "" Then
            '// ループを抜ける
            Exit Do
        End If
        
        '// ループカウンタを加算
        rowCount = rowCount + 1
    Loop
    
    
    For i = 1 To outCount
    
        kansei = ""
    
        kansei = kansei & "最初の文字/"
        kansei = kansei & Cells(i, 1).Value
        kansei = kansei & "/AB間/"
        kansei = kansei & oomoji(Cells(i, 2).Value)
        kansei = kansei & "/BC間/"
        kansei = kansei & oomoji(Cells(i, 3).Value)
        kansei = kansei & "/最後の文字"
        
        '完成形を出力
        Cells(i, rowCount + 1).Value = kansei
    Next i

    

End Sub

'先頭文字を大文字にして返却する
Function oomoji(ByVal moji As String) As String
    oomoji = UCase(Left(moji, 1)) & Mid(moji, 2)
End Function



使い方

連結したい文字を入力する。連結前後に入れたい文字列はソースを直接いじって入れる。

image.png

マクロを実行すると、最後の列の次の列(この例だとD列)に連結された文字列が生成されます。ローマ字は先頭のみ大文字になります。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0