VBAはまったくの初心者です。
仕事でExcelを使用して勤務時間表を作成しています。
出勤時間と退勤時間から一日の勤務時間を計算しているのですが 、規則で一日の勤務時間が6時間を越えたら必ず60分以上の休憩をとらないといけません。
勤務時間が6時間を超えた場合に、休憩時間の列に数値を入力する亊を促すメッセージを画面に表示したいのですが、計算式が入っているセルをもとに「文字の入力規則」コマンドが使えないことがわかり、色々調べながらVBAで作ってみたのですが、当然の事ながらうまく動作しません。
ちなみに勤務時間表は1ヶ月分で1つの表(最終行には1か月の勤務時間を求める合計の式もあります)となっていて、12か月分が1シートにそれぞれ数行空けて縦に並んでいる状態です。(これは会社の様式なので変更ができません)
最初の1ヶ月分の表の一日の勤務時間がセルF3~F33に入っていると考えて
Private Sub Worksheet_Calculate()
For t =3 To 33
If Range("F" & t).Value >= 6.5 Then
MsgBox "6時間を越えています。" & vbCr & "60分以上の休憩を入力してください。", vbCritical, "エラー"
End If
Exit For
Next
End Sub
とまで作成し、1か月分だけならこれでなんとか動作したのですが、12か月分全部についても同様のメッセージを出すにはどのようにするといいでしょうか。
どなたかお知恵をお貸しください。よろしくお願い申し上げます。
No.1ベストアンサー
- 回答日時:
>計算式が入っているセルをもとに「文字の入力規則」コマンドが使えない
⇒VBAを使用しなくても「退勤時刻セル」に入力規則(ユーザ定義)を設定すれば良いと思う。
例えば、=(退勤時刻-出勤時刻)*24<=6
因みにこの警告は勤務完了時にアラートする意味が不明です。
6時間超勤務時は休憩しないといけないのであれば、6時間超の場合には無条件に
休憩時間を1時間減算すればアラートは不要ではないでしょうか。
mu2011様、早々のご回答ありがとうございました。
週明けに職場でこの方法で試してみます。
>因みにこの警告は勤務完了時にアラートする意味が不明です。
>6時間超勤務時は休憩しないといけないのであれば、6時間超の場合には無条件に
>休憩時間を1時間減算すればアラートは不要ではないでしょうか。
私はアルバイトの身なので詳しいことはわからず指示通りに動作するように言われているだけなのですが、この勤務表はどうやら嘱託職員用のもので年間の総勤務時間が決まっていて、1日6時間超えの勤務になった時は、60分以上何分でも自分の好きなように休憩できるそうなのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロ/VBAについて教えてください。 10 2022/05/27 12:59
- 転職 転職活動中で2社内定があり迷っています。皆様ならAとBどちらの方が良いと思いますか?理由もお願いしま 1 2023/02/06 12:20
- Excel(エクセル) 月間シフト表から総勤務時間を計算する関数 4 2023/05/20 07:12
- Excel(エクセル) Excel関数で日またぎの勤務時間にしるしを立てる 2 2022/04/20 17:22
- Excel(エクセル) エクセル2019の関数を教えてください。 8 2022/12/16 12:45
- その他(Microsoft Office) Excel 勤務時間の計算について~(残業)有.無しの場合。 4 2022/07/17 21:03
- Excel(エクセル) エクセルで勤務時間の計算をしています。 下記図でstartは勤務開始時間、endは勤務終了時間です。 5 2022/06/07 13:51
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- 転職 現在郵便局の契約社員で配達や集荷で3年程勤めています。正社員になりたく転職活動をしております。内定が 5 2023/02/12 01:07
- 労働相談 至急‼︎‼︎ 以下の求人について質問します。 会計年度任用職員のパート雇用です。 【期間】最長4月1 1 2023/02/06 00:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
A1セルに入力したら、入力時間...
-
Excelで同じセルに箇条書きをし...
-
参照先セルに値が入っていない...
-
エクセルで既に入力してある文...
-
IF関数で0より大きい数値が入力...
-
エクセルで時間の判定をしてい...
-
空白でないセルの値を返す方法...
-
yyyy/mm/ddからyyyy/mmへの変換
-
エクセル セルに文字を入力した...
-
エクセルの数式がかぶって、選...
-
Excel:文字と数字の組合せ、次...
-
値を入力後、自動的にアクティ...
-
エクセルで、特定のセルの内容...
-
エクセルの数式で計算結果に文...
-
EXCELのセル上のURLを...
-
excel 関数にて文字を0として認...
-
Excelでセルに入力されたカラー...
-
エクセルで、同じ数値を一気に...
-
ExcelVBAでセルを編集状態にす...
-
【Excel】セル内の時間帯が特定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
A1セルに入力したら、入力時間...
-
Excelで同じセルに箇条書きをし...
-
参照先セルに値が入っていない...
-
IF関数で0より大きい数値が入力...
-
エクセルで既に入力してある文...
-
Excel:文字と数字の組合せ、次...
-
空白でないセルの値を返す方法...
-
値を入力後、自動的にアクティ...
-
エクセルで時間の判定をしてい...
-
yyyy/mm/ddからyyyy/mmへの変換
-
Excelでセルに入力されたカラー...
-
エクセルの数式がかぶって、選...
-
エクセルで、特定のセルの内容...
-
エクセルで複数の条件で掛け算...
-
マイナス同士の前年比
-
入力したところまでを自動的に...
-
EXCELのセル上のURLを...
-
excel 関数にて文字を0として認...
-
バーコードが読み取れない原因...
-
ExcelVBAでセルを編集状態にす...
おすすめ情報