[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『連名で両方に様をつける』(れん)
名前を入力したときの様の自動入力について、連名で両方の名前に様をつける方法はあるのでしょうか。
1つのセルに太郎・花子と入力して「太郎様・花子様」のように表示させたいです。ユーザー定義@"様"で二人目の名前の後ろにつけることはできると思いますが、一人目(・の前)につけることはできるのでしょうか。
よろしくお願いします。
< 使用 Excel:Office365、使用 OS:Windows10 >
VBAになってしまいますが、どうでしょうか。 ユーザー定義での解決は、引き続き達人の回答をお待ちください。
A列に名前が入力されており、区切り文字は「・」とする。
Sub Macro1() Dim r As Range Dim i As Long, n As Long Dim ptn As String, tmp As String With CreateObject("VBScript.RegExp") For Each r In Range(Cells(1, "A"), Cells(Rows.Count, "A").End(xlUp)) n = Len(r.Value) - Len(Replace(r.Value, "・", "")) ptn = "^([\w\W]+)" tmp = "$1様" For i = 1 To n ptn = ptn & "(・[\w\W]+)" tmp = tmp & "$" & i + 1 & "様" Next i .Global = True .Pattern = ptn & "$" r.Value = .Replace(r.Value, tmp) Next r End With End Sub (三文) 2022/01/30(日) 15:05
----------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Range Set r = Intersect(Target, Range("A:A")) If r Is Nothing Then Exit Sub
Application.EnableEvents = False Dim c As Range, a, i As Long For Each c In r a = Split(c.value, "・") For i = 0 To UBound(a) If a(i) Like "*[!様]" Then a(i) = a(i) & "様" End If Next c.value = Join(a, "・") Next Application.EnableEvents = True End Sub -----------------------------------------
同じくユーザー定義での方法は達人の回答を待ってください。
(hatena) 2022/01/31(月) 12:30
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.