• 締切済み

当番表&当番回数をエクセルで作りたい。

よろしくお願いいたします。 こちらのソフトのような、 http://www.juno-e.com/excel2/?p=50 この人は何曜日と何曜日入れると指定し、自動的に名前が入る当番表を作りたいのですが、作りたい当番表は、祭日は当番がないので、指定した曜日でも当番が入らないようにしたいですし、月によっては行事で1日や2日、通常当番が入る曜日でも先に当番が入らないようにしたいのですが、こういった事は、こちらのソフトでは不可能でしょうか? エクセルでなんとかこれから長く続く当番表作りを楽にしたいと考えている最中です。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

#1です。質問者の意向に沿うかどうかわからないが、VBAでやってみました。 特別な入力は、データ入力は、第3行目の氏名の下の曜日コードのみ(職員名数分)です。 例データ A1:Dxx ーー シートで 出勤予定表 氏名 山田 近藤 木下 出勤曜日 2,5 3,6 3,4   <--2,5は火曜と木曜を指定したもの。入力はこの行のみ 2017/02/01(水) 〇 2017/02/02(木) 〇 2017/02/03(金) 〇 以下の月末日までの行を掲示略 A列の書式は、ユーザー定義で yyyy/mm/dd(aaa) としたもの。 ーーー VBE画面(ALT+F11)を出して下記コードを貼り付け。 Sub test01() lc = Cells(3, 500).End(xlToLeft).Column '氏名行のデータ最右列をとらえる '--- For j = 2 To lc '2列からlc列まで繰り返し。」職員分を繰り返し。 '--第3行目の曜日コードについて w = Split(Cells(3, j), ",") 'j列第3行目のセルについて、カンマで区切られている文字列を分離 For m = 0 To UBound(w) '分離された曜日コードの各々について For i = 4 To 30 '第4行目から月末日までについて 'MsgBox Day(Cells(i, "A")) & "=" & Weekday(Cells(i, "A")) If Weekday(Cells(i, "A")) = Val(w(m)) Then 'A列の月中の日付の曜日が指定のものか Cells(i, j) = "〇" End If Next i Next m Next j ' 次の右列の処理へ繰り返し End Sub こんなものでよければ、VBAができれば、入力画面設計にこだわらなければ、難しくないことを言いたいため出します。 1日経っても回答が出ないのは、問題がむつかしいのでなく、回答を仕上げるのが面倒で、回答説明文章も長くなって、忙しい人では、やる気が起こらないからだと思う。

noname#225201
質問者

お礼

imogasi様 本当にご親切にまたご丁寧にお返事いただきましたこと、又至らぬ点のご指摘、ありがとうございました。本当にそうだ(汗)と思いました、もう少し勉強し、できる限りは挑戦したいと思います。 今後はもっと的確な質問が出来るようにいたします。お時間割いていただきありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

>祭日は当番がないので、指定した曜日でも当番が入らないようにしたいですし> >月によっては行事で1日や2日、通常当番が入る曜日でも先に当番が入らないようにしたいのですが こういう事項は、異例ケース対応だろう。本質的なことではない。 もっとほかに、考える(表現する、説明する)ことがあると思う。 大事なことで漏れているのは、作りたい表が設計されて、質問に掲げられていないこと。 ーー それより (1)見かけの仕組み(チェックボックス利用のようなこと)をどこまで利用するか (2)どの程度入力を自動化するか。表の完成形はどんなもの? (3)複数職員の予定をどう表現したいか 週間表か、月間表か、などを質問者が決めないと質問にならない。 これらの設計も、エクセルをある程度知り、帳票設計も多少慣れないと、増しなものは作れない。 ーー (こちらのソフトといっているものは)こういうフリーソフトは、セミプロ級の人が作るもの.便利ならダウンロードして使えばよい。 自分で作ったりするのはむつかしく、フリーソフトは、それを一部修正はできない相談です。 紹介されているからといって、似たものをすぐ質問者が作れるものではない。 入力時の格好良い仕組み(たとえばチェックボックスをクリックして、出勤日を指定する仕組みなど)は、自分の力と相談して、あまりこだわるな。 申請者(出勤者の)出勤日申請メモと、(エクセルシートに具体的に各日に入力する)入力者は分けて作業するところから始めるべきでは?自動化の省力化などプログラムなど作成の労力に比べたらしれている。 ーー フリーソフト類は、最低でもVBAを駆使できる人が作っている場合が多いと思う。 質問者は、VBAはできますか。甘く考えないこと。 こういうものを作るのは、質問ぶりからして、時期尚早かと思う。 先輩で経験のある人がいたら相談して作ること。

関連するQ&A

専門家に質問してみよう