勤務実績表入力の自動化方法とは?

このQ&Aのポイント
  • 勤務実績表の入力作業を効率化するための方法を探しています。
  • 実際に勤務した時間を示すオブジェクトを利用して、勤務実績表を自動的に作成する方法はありますか?
  • 勤務実績表に日付と時間の見出しを付け、3つの勤務パターンから選ぶことで、作業を簡略化したいです。
回答を見る
  • ベストアンサー

勤務実績表入力にオブジェクトを含む実績入力自動化

月単位の勤務実績表を作成しています。 一列目に日付、一行目に時間の見出しをつけていますので、 【B列が0時~0時30分、AW列が23時30分~0時(一列=30分) 2行目が一日32行目が31日】 という表があります。 勤務パターンが3種類ありますので 同じシートの別欄に実際に勤務した時間をオブジェクトの矢印にて示した 3パターンのひな型を作り、実績に応じて3つのうちのひとつをコピーして 勤務実績表にペーストする方法で作成しているのですが、この作業を 自動化する方法はあるでしょうか? 例えば、ひな型の3勤務パターンをそれぞれAパターン、Bパターン、Cパターンとして 勤務実績表のそれぞれの日の末尾(AX列)にAと入力すれば、勤務実績表の 該当日に矢印オブジェクトを含む内容が自動で反映されるようなマクロ、関数など ありましたら、ご教授ください。よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! アップされている画像が小さくて詳細が判らないので、やり方だけ・・・ >例えば、ひな型の3勤務パターンをそれぞれAパターン、Bパターン、Cパターンとして ひな形のパターンをAY1~CT3セルの範囲に作成しているという前提でのVBAでの一例です。 尚AX列に入る3パターンはリスト表示させるなどして他のデータは入らないものとします。 仮にAX列に A・B・C のいずれかが入るとします。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに ↓のコードをコピー&ペースト → Excel画面に戻りAX列にデータを表示させてみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から Dim myRngA As Range, myRngB As Range, myRngC As Range If Intersect(Target, Range("AX:AX")) Is Nothing Or Target.Count > 1 Then Exit Sub Set myRngA = Range("AY1:CT1") '←Aパターンの範囲 Set myRngB = Range("AY2:CT2") '←Bパターンの範囲 Set myRngC = Range("AY3:CT3") '←Cパターンの範囲 Select Case Target Case "A" myRngA.Copy Cells(Target.Row, "B") Case "B" myRngB.Copy Cells(Target.Row, "B") Case Else myRngC.Copy Cells(Target.Row, "B") End Select End Sub 'この行まで ※ AX列のデータ変更があると思いますので、本来であれば 一旦オートシェイプを削除してコピー&ペーストする操作が必要になると思います。 今回はそこまで考慮していません。m(_ _)m

その他の回答 (2)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

条件付き書式を使い、A,B,Cが記入された時にそれぞれ該当する列(時刻帯)のセルに「色を塗る」ような方策で簡単に表示できそうです。 矢印図形で表示するのがキマリなんで他のやり方は聞きたくないときはスルーしてください。 たとえばAが8時から17時(前まで)だとすると、 手順: R列からAI列まで列選択する(必ず行う) 条件付き書式▼から新しいルールで数式を使用して…を開始 =$AX1="A" と記入して、書式ボタンでタイプAの色塗りを設定する B,Cに該当する各列についても同様に設定する。

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.1

質問者さんがそのシートでやりたいことを、手順書としてまとめて、VBAのプログラムとして記述されればいいだけですよ。 がんばってExcelVBAを勉強してください。

関連するQ&A

  • 勤務表の作成を自動でできませんか?

    従業員10名の事業所です。 現在、前任者が作成したエクセルの勤務表を使用しています。 基本的に日勤、早出、遅出、夜勤。さらにパートタイマー向けの短時間勤務パターンがいくつかあり、時間帯別に必要な人員が確保できるよう、一日一日計算しながら作成していきます。 条件を設定すれば、自動で勤務表作成ができるような、おすすめのフリーソフトがあれば教えてください。 ベクターでは検索しましたが、うまくできるものがありませんでした。 宜しくお願いいたします。

  • 勤務予定表の土日に自動的に色を付けたい

    エクセルで勤務予定表を作成しているのですが、日にちは初めから表にあったとして、そこに曜日を入れたら自動的に土曜日の列のセルを青、日曜日の列のセルを赤にするにはどうしたら良いのでしょうか?(横向きです)宜しくお願いします。

  • エクセルで勤務表・・

    勤務表作成について教えてください 浅海も質問させていただいたのですが・・ たとえば A1.A2.A3と従業員の氏名を B1.B2.B3とB列には 出勤時間を C列には退社時間を入れた表をつくり D列から右の列には 勤務シフト(出勤から退社までの時間帯)を帯状に作成したいのですが・・1日の会社の営業を朝9時から夜10時までとして シフト表を簡単に記入できたらと思っています。できれば 休憩時間も D列に記載して自動入力できれば最高なのですが  それ以上の機能は もとめませません   作成方法教えていただけませんか? グラフのテ入力しかありませんか? よろしくお願いします

  • 勤務表作成について

    ここでも、いろんな勤務表の作成の仕方をみたのですが、もうちょっと複雑な勤務表の作成について教えてください。 ・○年○月○日から○年×月×日(4週間分)と指定することにより、日付と曜日が 表示される ・一週間ごとに一列間がほしい。 ほかにもほしいのですが、最低上記の2点をクリアしたいのです。 どのような方法があるか、ぜひ教えていただけませんでしょうか? お願いいたします。

  • エクセル表に入力量に合わせ行の高さ自動広がり出来ず

    簡単な表を作成し、日記表を作成しようとしています。 表を作成後、表全体を書式にて、「文字の折り返し」を行いました。 本文内容の欄(列)に文字を3行ほど書き込みました。確定すると、2行までしか表示されません。 文字数にあわせて、自動的に行の高さを保つ方法はどうすればよいのでしょうか? ※添付は、本当は3行を入力してあります。 OS:ビスタ  アプリ:2007

  • EXCEL 勤務表作成(長文です)

    今回、新たに皆様の助力を戴きたく投稿いたします。 当方、職場の勤務表を作成することになり、ただ単に、打ち込むことは (誰でも)できるのですが、もう少し効率よくできないものかと模索しておる次第です。あくまで理想論として以下に例を記します。 宜しくお願い致します。 例(sheet1) A列|B列|C列|D列|E列|F列 勤務者1 |勤務者2 |勤務者3 日 |   |夜 |   |明 | (sheet2) A列|B列|C列|D列|E列|F列 勤務者1 |勤務者2 |勤務者3 8.0|   |   |9.0 |  |7.0 (伝わらないかもしれませんが)上記の様式を仮としまして・・・ 要領は(sheet1)の3行目~下に向かって各自の勤務形態を日々 「日(日勤)」、「夜(夜勤)」...etc のように打ち込んでいくと (sheet2)の3行目以下が自動で時間が表示されるようにしたいのです。 結果的には「勤務形態を打ち込んだsheet」と「実際の勤務時間が 打ち込んであるsheet」ができればいいのですが・・・ 質問は2点です。 (1)この理想は実現可能なんでしょうか? 可能であればどんな関数を使用するのでしょうか? (2)勤務者名が2行にまたがって表示しているのは意味がありまして、 合計時間の集計上「夜」や「明」(夜勤関連の勤務)は (sheet2)のように隣の行に表示させたいのです。 これも可能ですか?これが無理でも仮に(1)が可能ならば、 (sheet1)に打ち込む時点で隣の行に打ち込めば可能だと思うの ですが・・・ 繰り返しになりますが、ひたすら打ち込めば2枚のsheetを作成する ことは可能だと思います。ただ、勤務者がかなり多いことと、勤務階ごとに作成しなければならない状況がありまして、 なんとか効率よくできないものかと困っている次第です。補足はいくらでもしますので宜しくお願い致します。

  • 日付をまたいだ勤務表の計算について

    excel2007で勤務表を作成しています。 シート1に15分単位で出勤時刻、退社時刻、勤務時間、残業時間をいれた表を作っています。 シート2に勤務表を作成して、vlookup関数を使い 退社時刻が○時の場合、勤務時間は○時間と算出していますが、 退社時刻が0時を超えると、退社時刻23:45の行の数字が表示されます。 (退社時刻の切り捨ては別の行で行っています) どのようにしたら、例えば0:15に退社した場合は、23:45ではなく 0:15の行を見に行くようになるのでしょうか。 うまく説明出来てなくて、すみません。 分かる方、教えて下さい。

  • あかさたな・・・順でタイトルを表形式に管理したい 

    以下のようなことを考えております。何か良い方法はございませんでしょうか。 htmlエディタでの作成を想定しております。Dreamweaverでも可。 4列の表で、ア行(あいうえお)のタイトルを掲載。 ただし、更新時に"あ"のタイトルを追加しようとするとき、”い”行以下を自動的にうしろのセルに移行したいのです。 列は、4列で固定。行は増えて構わない。 例えば、一列でデータを作っていき、表示させるときは、4列にできればよいと考えたのですが、そのようなCSSは可能なのでしょうか。

  • 表の入力を自動的に改行したい

    office2007,W7 のユーザーです。 大きいエクセル表を作っております。N列M行の表のデータを入力するとき、第1列の全セルの入力を終わり、次行のデータを入力する際、アクチブセルが自動的に次行先頭セルに移るようにすることはできないでしょうか。範囲指定して反転したセルの 第1セルから始めることはできますが、表の記入を中断したのち再開すると、アクチブセルがまた第1列第1行に戻ってしまって、前回の入力の続きができません。 よろしくお願いします。

  • エクセルで作った表へ自動入力したい

    例えば、100世帯のマンションがあります。エクセルの行に001~100までの世帯番号を、列に何月分かを列記した管理表を作ります。 別のシートに、例としてM1に世帯番号を、M2に貰った家賃が何月分かを、M3に家賃を貰った日付を入力して日報を作ると、自動的に管理表の座標を探してM3の日付が入力するようにしたいと質問したら、 一般機能では無く、マクロ処理になりますね。 1.[Alt]+[F11] で Visual Basic Editor を起動し、[挿入]-   [標準モジュール] で開く画面に、次の3行をコピペします。   Sub TEST()    Range(Range("M1") & Range("M2")) = Range("M3")   End Sub 2.M列各セルに、次の内容を入力します。   M1:列記号を入力( 入力例:C )   M2:行番号を入力( 入力例:4 )   M3:データを入力( 入力例:テスト ) 3.[ツール]-[マクロ]-[マクロ] から TEST を選択して実行します。     →C4に テスト と入力されます。   M1:M3 に入力してマクロを実行するたびに、指定されたセルに書き込まれます。 との答えを頂きました。しかし日報の様に使いたいので、M列だけで無くN、L、Oと列記して次々と管理表に入力出来る様にしたいのです。どの列でも、1に世帯番号を、2に何月分かを、3に領収日を入力すれば、自動的に管理表に入力されるようにしたいのです。宜しくお願いします。

専門家に質問してみよう