. More E life)
More E life)
More E life)

エクセルにて縦書きと横書きを混在させる(数字だけ横書きなど)方法【かっこだけ横】

Function AddCRLF(MyString As String) As String

Dim Buf, StrPattern, Str, Result As String

Dim i As Long

‘文字列パターン

StrPattern = “[0-9()/]”

‘一文字毎に文字並びを調べる → 改行コードを付加する/しないを判定

Buf = StrConv(MyString, vbNarrow)

For i = 1 To Len(Buf)

If Mid(Buf, i, 1) Like StrPattern And Mid(Buf, i + 1, 1) Like StrPattern Then

Str = Mid(Buf, i, 1)

ElseIf Mid(Buf, i, 1) Like StrPattern And Not (Mid(Buf, i + 1, 1) Like StrPattern) Then

Str = Mid(Buf, i, 1) & vbCrLf

ElseIf Not (Mid(Buf, i, 1) Like StrPattern) Or Mid(Buf, i + 1, 1) Like StrPattern Then

Str = Mid(Buf, i, 1) & vbCrLf

Else

Str = Mid(Buf, i, 1)

End If

Result = Result & Str

Next

‘末尾改行コードの削除

If Right(Result, 1) = vbLf Then

AddCRLF = Left(Result, Len(Result) – 1)

Else

AddCRLF = Result

End If

End Function

Visual Basic Editorを閉じてエクセルのシートに戻ります。

AddCRLF(文字列)

と処理することで、文字列で指定した文字列をセル内で改行し、縦書き表示することができます。今回の場合では =AddCRLF(A2) と入力しましょう。

📎📎📎📎📎📎📎📎📎📎