Excel VBA質問箱 IV

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

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


38233 / 76732 ←次へ | 前へ→

【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・・を付けて下さい。その方が単純なので、入力ミスを
防ぎやすいと思うからです。

0 hits

【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 お礼

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