|
▼Cuore=Tane さん:
>たとえば、赤井さんという人が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
シートを追加して、新しいシートの名前を苗字だけにしてますが、フルネームにしちゃったらどうですか?
フルネームにして何か問題があって、苗字だけにしているのであれば、その理由などを提示すれば何か別の方法でも出てくるかもしれませんね。
|
|