Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6705 / 13646 ツリー ←次へ | 前へ→

【43616】省略された人名をフルネームで表示したい... 無頼斎 06/10/20(金) 1:13 質問[未読]
【43621】Re:省略された人名をフルネームで表示した... Taki 06/10/20(金) 7:30 発言[未読]
【43624】Re:省略された人名をフルネームで表示した... 無頼斎 06/10/20(金) 8:44 発言[未読]
【43623】Re:省略された人名をフルネームで表示した... ichinose 06/10/20(金) 8:20 発言[未読]
【43640】Re:省略された人名をフルネームで表示した... Kein 06/10/20(金) 16:54 回答[未読]
【43644】Re:省略された人名をフルネームで表示した... 無頼斎 06/10/20(金) 20:02 お礼[未読]

【43616】省略された人名をフルネームで表示したい...
質問  無頼斎  - 06/10/20(金) 1:13 -

引用なし
パスワード
   人名で、鈴木さんや、伊藤さん、佐藤さんなど

苗字が同じ人がいますよね?これを区別するのに、

佐藤タ(佐藤太郎)や佐藤ジ(佐藤次郎)で入力して

区別しているのですが、

これをA1佐藤タやA2佐藤ジで入力すると、佐藤太郎や佐藤次郎の

フルネームで同セルに入力されるようにすることはできますか?

【43621】Re:省略された人名をフルネームで表示し...
発言  Taki  - 06/10/20(金) 7:30 -

引用なし
パスワード
   ▼無頼斎 さん:
>人名で、鈴木さんや、伊藤さん、佐藤さんなど
>
>苗字が同じ人がいますよね?これを区別するのに、
>
>佐藤タ(佐藤太郎)や佐藤ジ(佐藤次郎)で入力して
>
>区別しているのですが、
>
>これをA1佐藤タやA2佐藤ジで入力すると、佐藤太郎や佐藤次郎の
>
>フルネームで同セルに入力されるようにすることはできますか?

佐藤タ   佐藤太郎
佐藤ジ   佐藤次郎

のようにシート上にリスト作成が必要です。
後はVLookup関数で処理できます。

シート関数でも、マクロ処理でも可能です。
一度VLookupを見てください。

【43623】Re:省略された人名をフルネームで表示し...
発言  ichinose  - 06/10/20(金) 8:20 -

引用なし
パスワード
   おはようございます。


>人名で、鈴木さんや、伊藤さん、佐藤さんなど
>
>苗字が同じ人がいますよね?これを区別するのに、
>
>佐藤タ(佐藤太郎)や佐藤ジ(佐藤次郎)で入力して
>
>区別しているのですが、
>
>これをA1佐藤タやA2佐藤ジで入力すると、佐藤太郎や佐藤次郎の
>
>フルネームで同セルに入力されるようにすることはできますか?

IMEに単語登録するという方法も検討してみてください。

その場合、
 「さとうた」で変換すれば−−−>佐藤太郎 になる登録が可能です。

【43624】Re:省略された人名をフルネームで表示し...
発言  無頼斎  - 06/10/20(金) 8:44 -

引用なし
パスワード
   ▼Taki さん:
>▼無頼斎 さん:
>>人名で、鈴木さんや、伊藤さん、佐藤さんなど
>>
>>苗字が同じ人がいますよね?これを区別するのに、
>>
>>佐藤タ(佐藤太郎)や佐藤ジ(佐藤次郎)で入力して
>>
>>区別しているのですが、
>>
>>これをA1佐藤タやA2佐藤ジで入力すると、佐藤太郎や佐藤次郎の
>>
>>フルネームで同セルに入力されるようにすることはできますか?
>
>佐藤タ   佐藤太郎
>佐藤ジ   佐藤次郎
>
>のようにシート上にリスト作成が必要です。
>後はVLookup関数で処理できます。
>
>シート関数でも、マクロ処理でも可能です。
>一度VLookupを見てください。

ご返信ありがとうございます。

しかし、VLookupですと、佐藤タと入力された同じセルに佐藤太郎と

同時に変換されて入力されるようにはできませんよね?

【43640】Re:省略された人名をフルネームで表示し...
回答  Kein  - 06/10/20(金) 16:54 -

引用なし
パスワード
   これはたぶん、前回の質問と関連しているのでしょうね。
ならば既に Sheet1 の X23 以下へ人名を入力したときのイベントマクロを
シートモジュールに入れてるはずだから、それを↓のように改造して下さい。

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Flg As Boolean
  Dim Mnm As String, Rnm As String
  Dim Sh As Worksheet

  If Intersect(Target, Range("X23:X65536")) Is _
  Nothing Then Exit Sub
  With Target
   If .Count > 1 Then
     Flg = True: GoTo ELine
   End If
   If IsEmpty(.Value) Then Exit Sub
   If IsNumeric(.Value) Then
     Flg = True: GoTo ELine
   End If
   If .Value = "監督人" Then Exit Sub
   Mnm = .Value
  End With
  If Left$(Mnm, 2) = "佐藤" Then
   Select Case Right(Mnm, 1)
     Case 1: Rnm = "太郎"
     Case 2: Rnm = "次郎"
     Case 3: Rnm = "三郎"
   End Select
   Mnm = "佐藤" & Rnm
  End If
  Set Sh = Worksheets("Sheet2")
  With Application
   If Not IsError(.Match(Mnm, Sh.Range("E:E"), 0)) Then
     MsgBox "その名前は入力済みです", 48
     Flg = True: GoTo ELine
   End If
   Sh.Range("E65536").End(xlUp).Offset(1).Value = Mnm
ELine:
   .EnableEvents = False
   If Flg Then
     Target.Clearcontents
   Else
     If Rnm <> "" Then Target.Value = Mnm
   End If
   .EnableEvents = True
  End With
  Set Sh = Nothing
End Sub

>佐藤タや佐藤ジで入力
ではなく、数値の1,2,3・・を付けて下さい。その方が単純なので、入力ミスを
防ぎやすいと思うからです。

【43644】Re:省略された人名をフルネームで表示し...
お礼  無頼斎  - 06/10/20(金) 20:02 -

引用なし
パスワード
   ありがとうございました。

また、よろしくご教示お願いいたします。

6705 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free