|
たとえば、赤井さんという人が2人いた場合、1人目は問題なく作成されますが、2人目は同一姓のため、作成できないというエラーが出ます。
同一苗字の方が2人以上いた場合は日程表 赤井(2)と表示されるようにするにはどうすればいいのでしょうか?
[同一苗字が3人いた場合は(3)と数字が1つずつ大きくなるようにしたい。]
出来れば、日程表 赤井を利用してコピーを作成する方法は使わず、必ず日程表 原本を利用してコピーする方法をお願いいたします。[もう1人の赤井さんを利用してコピーした場合、それまで入力されたデータまでコピーされるのでそれは避けたいので…。というのも、このデータを削除するのがややこしいので…]
'変数の指定
Dim a As Long
Dim b As String
Dim c As Integer
'ダイアログボックスの表示
If MsgBox("新規ヘルパーの登録をしますか?", vbYesNo + vbInformation, "ヘルパー新規登録") = vbYes Then
'インプットボックスを表示
b = InputBox("登録するヘルパーの氏名を入力してください" & Chr(13) & _
"姓と名の間にスペースを入力してください。", "ヘルパー登録", "例:あいう えお")
If b <> "" Then 'ボックスに入力されている場合
a = Worksheets.Count '現在のシート数を数える
Sheets("日程表 原本").Copy After:=Sheets(a) '原本をコピーし、末尾に移動する
a = a + 1 '新規シート選択のためaの値に1加算する
Sheets(a).Select
Range("F3") = b '新規シートのセルF3にbの値を代入する
c = InStr(1, b, " ")
Sheets(a).Name = "日程表 " & Left(b, c - 1)
Sheets("TOP").Select
Exit Sub
Else
MsgBox "入力されておりません", vbExclamation, "エラーメッセージ"
Sheets("TOP").Select
Exit Sub
End If
|
|