Excel VBA質問箱 IV

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

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


43820 / 76732 ←次へ | 前へ→

【37939】Re:同一苗字の人の処理
発言  ゆみ  - 06/5/23(火) 19:50 -

引用なし
パスワード
   ▼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

シートを追加して、新しいシートの名前を苗字だけにしてますが、フルネームにしちゃったらどうですか?
フルネームにして何か問題があって、苗字だけにしているのであれば、その理由などを提示すれば何か別の方法でも出てくるかもしれませんね。

0 hits

【37937】同一苗字の人の処理 Cuore=Tane 06/5/23(火) 19:38 質問
【37939】Re:同一苗字の人の処理 ゆみ 06/5/23(火) 19:50 発言
【38167】Re:同一苗字の人の処理 Cuore=Tane 06/5/28(日) 9:13 お礼
【37940】Re:同一苗字の人の処理 Kein 06/5/23(火) 21:23 回答
【37941】Re:同一苗字の人の処理 Kein 06/5/23(火) 21:25 発言
【38166】Re:同一苗字の人の処理 Cuore=Tane 06/5/28(日) 9:10 お礼
【37951】Re:同一苗字の人の処理 ハチ 06/5/24(水) 8:54 回答
【38168】Re:同一苗字の人の処理 Cuore=Tane 06/5/28(日) 9:14 お礼

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