[[20170506111655]] 『勤務表を作成しているのですが・・・』(やややー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『勤務表を作成しているのですが・・・』(やややー)

勤務表を作成しているのですが、
縦に氏名
横に日付というふうに作成しているのですが
同日の日に同じ勤務が重複するとメッセージが表示するようにしたいのですが、よい方法はありませんか?


氏名  1 2 3 ・・・

△さん A C
 
○さん D C

□さん B A

2日が勤務Cが重複したのでここでメッセージを表示していです。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


条件付き書式で同じ列に同じものがあれば、赤く塗りつぶすとか。
COUNTIF関数で何個あるか数えればよいです。

(マナ) 2017/05/06(土) 11:31


補足です。
チェンジイベントを使用し、メッセージを表示したいです。
(やややー) 2017/05/06(土) 12:20

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim c1 As Range, c2 As Range, c3 As Range
    For Each c1 In UsedRange.Columns
        For Each c2 In c1.Columns
            For Each c3 In c2.Cells
                If Application.WorksheetFunction.CountIf(c2, c3) > 1 Then MsgBox "重複あり" & vbLf & c3.Value & vbLf & c3.Address, vbCritical
            Next c3
        Next c2
    Next c1
End Sub
(mm) 2017/05/08(月) 10:39

メッセージとのことなので入力規則を推します。
氏名のセルをA1とします。範囲を選択しつつユーザー設定で

=COUNTIF($B$2:$C$4,B2)=1

を入力($C$4は実際の範囲に合わせて変更)。

お言葉ですがこんなもんにチェンジイベントなんて使うもんじゃありませんよ。
(×) 2017/05/08(月) 12:05


 入力規則だとコピーしたものを張り付けた場合には反応しないがWorksheet_Changeイベントだと反応する、
 といった違いもあるが。
(ねむねむ) 2017/05/08(月) 13:13

 あと、
 =COUNTIF($B$2:$C$4,B2)=1 
 だと同日内ではなく表内での複数チェックになってしまわないか?

(ねむねむ) 2017/05/08(月) 13:26


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.