[[20170504120655]] 『勤務表作成について』(りゅうーちゃん) ページの最後に飛ぶ

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

 

『勤務表作成について』(りゅうーちゃん)

勤務表を作成したいのですが、セルにダブルクリックしたら”休み”、”7”(7時出勤の意味で”7”)”8”、”18”とダブルクリックするたびに切り替わるようなことってできますか?

1 名前     5/1   5/2   5/3    5/4    5/5 ........

2 田中     7     8    休    8    18     

3 斎藤    8     8     18     休     7

4 石井     休     7     7     8      18

このように、勤務表作りたいんですが一つ一つのセルに打ち込むのが大変なので各セルにダブルクリックしたら切り替わるようなことできますか?
人数は50人ほどいます。

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


 入力規則のリストでもよさそうですけど、だめなのですか?
(bi) 2017/05/04(木) 19:25

 シートタブを右クリックしてコードの表示を選んで出てくるところに以下を。

 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim ary As Variant
    Dim z As Variant
    If Intersect(Target, UsedRange.Offset(1, 1).Resize(UsedRange.Rows.Count - 1, UsedRange.Columns.Count - 1)) Is Nothing Then Exit Sub
    Cancel = True
    ary = Array("休", 7, 8, 18, "休")
    z = Application.Match(Target, ary, 0)
    If IsError(z) Then z = 0
    Target.Value = ary(z)
 End Sub

(β) 2017/05/04(木) 19:34


私もシフト表をマクロで作っていますけど、
スレ主様の仕様にこだわらないのであれば

1フォームにボタンをいくつか貼り付ける(フォームは小さくしてツールバー風にする)
2ボタンのCaptionプロパティに出勤時間を設定する
3そのボタンのクリックイベントにSelection=7 Selection = "休" のように書く。
4ワークシートにActiveXのボタンを貼り付けて Form.Show vbModeless

みたいな感じで使っているので参考にどうぞ。

(通りすがり) 2017/05/04(木) 22:59


βさん、通りすがりさんありがとうございます。
できました!
これで、時間短縮できます
ありがとうございます。

コメント返信:

[ 一覧(最新更新順) ]


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