• ベストアンサー

エクセルで勤怠・作業管理

こんばんは、是非お力をお貸しくださいませ。 添付ファイルのように、エクセルでワークスケジュールを作成し、始業から終業まで条件付けで色付けまではできあがりました。 例えばマウスで N4からP4 までドラッグして、そこに B9:B12 の内容をドロップリストで複数のセルに一度に入力できないものでしょうか?(色含め) マクロを使用して、ということなのでしょうが、調べても答えに行きつくことはできませんでした。 大変恐縮ですが、ご教授頂けますと幸いです。 よろしくお願いします。

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (454/692)
回答No.3

>マクロを使用して、ということなのでしょうが マクロでの対応を目指すのであれば、 ちょっとハードルが上がりますが、 コンテキストメニューを使う対応はいかがでしょうか。 つまり、添付画像のように 「食事」などをセットしたいセルを右クリックして 必要なメニューを選択するインターフェースです。 以下、仕込み方を説明します。 ◇その1 Thisworkbookモジュールに以下を配置 Private Sub Workbook_Open() AddMenu End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean) DelMenu DelMenu End Sub ◇その2 標準モジュールに以下を配置 '//------------------------------------------------------------------------------------------------ '// コンテキストメニュー追加/削除 '//------------------------------------------------------------------------------------------------ Sub AddMenu() '//---------追加 Dim Newb Set Newb = Application.CommandBars("Cell").Controls.Add(Before:=1) With Newb .Caption = "Setレジ締" .OnAction = "Setレジ締" .BeginGroup = False End With Set Newb = Application.CommandBars("Cell").Controls.Add(Before:=1) With Newb .Caption = "Set掃除" .OnAction = "Set掃除" .BeginGroup = False End With Set Newb = Application.CommandBars("Cell").Controls.Add(Before:=1) With Newb .Caption = "set休憩" .OnAction = "set休憩" .BeginGroup = False End With Set Newb = Application.CommandBars("Cell").Controls.Add(Before:=1) With Newb .Caption = "Set食事" .OnAction = "Set食事" .BeginGroup = False End With End Sub Sub DelMenu() '//---------削除 On Error Resume Next Application.CommandBars("Cell").Controls("Setレジ締").Delete Application.CommandBars("Cell").Controls("Set掃除").Delete Application.CommandBars("Cell").Controls("Set休憩").Delete Application.CommandBars("Cell").Controls("Set食事").Delete End Sub Sub Set食事() Selection.Value = Cells(9, 2).Value Selection.Interior.Color = Cells(9, 2).Interior.Color End Sub Sub set休憩() Selection.Value = Cells(10, 2).Value Selection.Interior.Color = Cells(10, 2).Interior.Color End Sub Sub set掃除() Selection.Value = Cells(11, 2).Value Selection.Interior.Color = Cells(11, 2).Interior.Color End Sub Sub Setレジ締() Selection.Value = Cells(12, 2).Value Selection.Interior.Color = Cells(12, 2).Interior.Color End Sub ◇その3 いったんマクロブックを保存して開き 対象セルを右クリックしてメニューを選択します。

may-yonezu
質問者

お礼

HohoPapaさん、丁寧な説明ありがとうございます。 さっそく、教えて頂いた事を使って作成してみようと思います。 なんとか、イメージしていたものができそうです。 が、勉強が必要そうです。頑張ってみます 本当にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • msMike
  • ベストアンサー率20% (363/1776)
回答No.2

添附圖參照(Excel 2019) コンナノで良ければ簡單に出來ますよ、[条件付き書式]でね。 お気に召すなら、且つ、御希望なら、作成手順を説明します。

may-yonezu
質問者

お礼

msMikeさん、ありがとうございます。 確かに「条件付き書式」でできそうですね。 複数のセルを指定し、一括で変更したいので 少し、工夫が必要そうでした。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • kon555
  • ベストアンサー率52% (1767/3392)
回答No.1

 ドロップリストでは、複数セルに対するアプローチも、色もコピーする事も多分出来なかったと思います。なので、やはりマクロで対応するのが手軽でしょうね。  ただその場合も、ドロップリストは使わない方が手軽です。作成は出来ますが複雑になるので。お望みの形にするだけならコピー・ペーストの自動化だけで充分だと思います。 Sub 食事() Range("B9").Copy Selection End Sub Sub 休憩() Range("B10").Copy Selection End Sub Sub 掃除() Range("B11").Copy Selection End Sub Sub レジ締め() Range("B12").Copy Selection End Sub  この4つのマクロは、それぞれ起動すると、選択しているセルにB9~11のセルをコピーします。あとは図形への登録でボタン的な物を作れば、ドロップリストより手軽に入力できます。  登録のやり方はこちらを参考にどうぞ。 https://officedic.com/excel-vba-autoshape-registration/  コピーペーストなので、今のままだと表の罫線が消えてしまうかもしれません。その場合はB9~11にも罫線を設定してやってください。  また他の業務が増えた場合はリストを追加して、マクロの『Range("〇〇〇").Copy』の〇〇〇の部分を書き換えれば使える形にしてあります。

may-yonezu
質問者

お礼

kon555さん、さっそくのお答え、ありがとうございます。 難しく考えすぎでした^^; 確かに、コピー・ペーストの自動化でなんとかできそうですね。 仕組みや、外部サイトのまで教えて頂き大変助かりました。 これからの勉強に役立てようと思います。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル2003 ドロップダウンリスト

    エクセル2003を使用しています。 セルをいろんな色を塗りたいと思っています。ドロップダウンリストで、色づけしたセル数色をリストとすることは可能でしょうか?

  • エクセルのドラッグandドロップ

    初歩的な質問で恐縮です。 突然、エクセルのシートでセルに入力してある文字・数値をセルの 右下隅にカーソルを移動してプラス十字の形にしてドラックandドロップすればコピーできたのが、マウスをセルの右下隅に移動しても プラス十字にならず、ドラッグandドロップコピーができなくなって しまいました。何をどう設定するばいいのか分からず困っています。  原因が分かる方いらしゃいましたら、ご回答願います。

  • エクセルでのアルバイトの勤怠管理表について

    エクセルでのアルバイトの勤怠管理表について助けてください。 エクセル2010で勤怠の管理表を作っています。 (1)規定の労働実働時間は8時間 (2)時間管理は30分単位 (3)仕事の稼動時間帯は朝6:00~夜の24:00でシフト変動制 (4)30分~8時間までは時給100%なのですが8時間を超えた分は125%、22:00~24:00の深夜時間も125% (5)上記の(3)と(4)を満たす場合は150%にしなくてはいけません。 管理表の構成としましては、 (1)A1セルに1時間あたりの単価 (2)B1セルに始業時間 (3)C1セルに終業時間 (4)D1セルに休憩時間 (5)E1セルに時給100%の労働時間 (6)F1セルに上記(5)の金額 (7)G1セルに時間外労働時間 (8)H1セルに上記(7)の金額 (9)I1セルに深夜(22:00~24:00)の労働時間 (10)J1セルに上記(9)の金額 (11)K1セルに8時間以上労働、且つ深夜(22:00~24:00)の労働時間 (12)L1セルに上記(11)の金額 としています。 中でも(11)と(12)の数式が全くわかりません。 この数式か、もしくは上記の構成以外での表作成方についてご教示いただけませんでしょうか。 4/1から使用しなくてはならないので大変困っております。

  • 勤怠の集計表をエクセルで作成しました。

    勤怠の集計表をエクセルで作成しました。 実際に手計算すると0:00になるのに、関数を組んだところ、###########・・・と表示されます。 どうしてですか? 内容は・・・ 『時』『分』を分けてセルに入力(例:A1セル→8、B1セル→:、C1セル→30)すると、 一日の労働時間を求めるようになっており、『残業』、『深夜残業』も求めるようにしています。 さらに表の下部に求められた時間の合計が表示するように作りました。 実際にテストで入力してみたところ、始業が14:00、終業が22:00(休憩なしで、8時間労働) にすると労働時間が求められ、『深夜残業』が0:00と表示されますが、『残業』が ##############・・・となり、カーソルを合わせると「負の日付又は時間は########と表示します」 とメッセージが表示されます。 しかし、実際は0:00と表示されてきてほしいのですが、上記のように表示され、表下部『残業』合計 が正しい数字になってきません。 いろいろと関数を組みなおしてみたのですが、結果は同じでした。 教えてください。よろしく御願いします。 ちなみに、私が組んだ関数は以下の通りです。 =IF(J6>"22:00",O6-"8:00"-R6-P6,IF(J6<"22:00",O6-"8:00"-P6)) 上記セルの内容は以下の通りです。   J6・・・終業、O6・・・労働時間、R6・・・深夜残業、P6・・・早出時間  基本となる時間は、   始業・・・8:30、終業・・・17:30です。

  • エクセルの条件セルコピーについて

    例えばa3のセルに「ひらがな」と入力されたらb3のセルのドロップダウンリストが『「あ」「か」「さ」「な」』の中から選択できるようにする、 もし、a3のセルに「カタカナ」と入力されたらb3のセルのドロップダウンリストの選択項目が『「ア」「カ」「サ」「ナ」』になる、 もし、a3のセルに「漢字」と入力されたらb3のセルのドロップダウンリストの選択項目が『「月」「土」「日」「火」』になって選べるようになる、 … という風にそのセルの値によって隣のドロップダウンリストの選択項目を変えたい場合はどうすればいいですか?

  • エクセル 画像ドラッグドロップ

    エクセルにドラッグドロップでマウスを放した場所に画像を入れられませんか? ポインタに+の記号が出るので、マクロを組めばできそうな気がしますが、 やり方が思いつきません。 ヒントだけでもよいですので、よろしくお願いします。

  • エクセルで時間入力10:30の:コロン省略したい。

    始業と終業の時間を入力し勤務時間を計算しております。 始業時間はA1に8:30 終業時間はB1に17:00と入れております。 コロン(:)を省略できるととても楽になります。8:30は830と入力、17:00は1700と入力して 表示にはコロンが入り、セルの書式としては時刻と認識し時間計算が出来ればありがたいです。 よろしくお願い致します。

  • ExcelのマクロによるVLOOKUPの参照シートの変更について

    ExcelのマクロによるVLOOKUPの参照シートの変更について ブックAのSheet1のセルA1にドロップダウンリストを作成し、アルファベットの"J"、"M"、"A"が選択できるようにしてあります。 ブックAのSheet2のセルB1には、以下の式が入力してあり、別のブック(ブックB)から情報を読み込んでいます。 =VLOOKUP(A1,'¥¥s_g¥欠席¥[ブックB.xls]国語'!$B$4:$V$30,4,FALSE) やりたい事は↓ ブックAのSheet1のセルA1にある、ドロップダウンリストを変更すると、ブックAのSheet2のセルB1にある式(上記式)の参照シート(上記式では「国語」の部分)が変更さえるマクロを作りたいのですが、うまくできません。 ちなみに、ドロップダウンリストの"J"を選択した場合は、ブックBのシート"国語"を参照し、リストの"M"を選択した場合は、ブックBのシート"数学"を参照し、リストの"A"を選択した場合は、ブックBのシート"美術"を参照するようにしたいです。 よろしくお願いします。 また、マクロを使わずして出来るようでしたら、その方法も合わせて教えて下さい。

  • Excel ドロップダウンで入力したデータを編集?

    Excel2007です。 ドロップダウンリストで入力したセルのデータに追加とか変更を加えたい場合にはいちいち入力規則から変更を適用するにチェックを入れますがもっと簡単な方法はありませんか。 例えばデータ変更ができるドロップダウンリスト入力とか 簡単なマクロでそのセルだけ入力規則を無効にできるようにするとか(マクロ記述を教えて下さい)

  • EXCELで セルの値が○○の場合 条件付書式??

    おはようございます。 会社の勤怠をエクセルで作っているのですが、質問があります。 A10のセル(始業時間)が9:00からで、 B10のセル(終業時間)の値が22:00以上の場合、 E10のセル(労働時間)の値に(13H)と、値に()が付くようにしたいのですが、どのようにすれば良いでしょうか? 条件としては、終業時間が22:00の場合だけに、()が付くようにしたいです。 ※深夜残業(22:00)を超えた場合だけに、()を付けたいのです。 宜しくお願いいたします。

専門家に質問してみよう