A 回答 (5件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんにちは、
>頂いたソースを実行してみたのですがうまく動かなかったです。
おかしいですね。私の環境では、うまく行くのですが、
どんなエラーが出ていますか??
>17:00-9:00= 休憩1:00 勤務時間 7:00
こんな感じにも改造しましたけど、このデータを勤務時間を他で利用するときに
不便になると思いますよ。
Public Function ddd(ds As Date, de As Date) As String
Dim dd1 As Double
Dim dd2 As Double
Dim dd3 As Double
Dim kyukei As String
dd1 = DateDiff("h", ds, de)
dd2 = (DateDiff("n", ds, de) Mod 60) / 60#
dd3 = dd2 * 60
If (dd1 + dd2 >= 8.5) Then
dd1 = dd1 - 1
kyukei = " 休憩 1:00"
End If
ddd = Format(de, "hh:mm") & "-" & Format(ds, "hh:mm") & "=" & kyukei & " 勤務時間 " & Format(dd1, "00") & ":" & Format(dd3, "00")
End Function
計算結果シート上
始業時間---就業時間---勤務時間
7:00-------12:00------12:00-07:00= 勤務時間 05:00
7:00-------20:00------20:00-07:00= 休憩 1:00 勤務時間 12:00
7:00-------13:00------13:00-07:00= 勤務時間 06:00
7:00-------15:29------15:29-07:00= 勤務時間 08:29
7:00-------15:30------15:30-07:00= 休憩 1:00 勤務時間 07:30
No.3
- 回答日時:
>if x >= 8.5 then Range("D1")=7.5
このような式は成立しません。
提示されたコードのxは文字型ですし、時刻には8.5と言う値もありませんから・・・。
時刻は0~1未満の間の値(小数)で表すので、8.5時間なら 8.5/24 のように計算出来ます。
Sub test()
Dim x As Single
x = Range("B1") - Range("A1")
Range("C1") = Format(x, "hh:mm")
If x >= (8.5 / 24) Then
Range("D1") = Format(x - (1 / 24), "hh:mm")
Else
Range("D1") = Format(x, "hh:mm")
End If
End Sub
No.2
- 回答日時:
こんにちは、
日にちがまたがっている場合があるのですね。
元データを #2006/9/1 18:00# ~ #2006/9/2 8:30#という表現にしないといけませんが、
以下の様なvbaを作っていました。
Public Function d(ds As Date, de As Date) As String
'時間の計算
d = Format(DateDiff("h", ds, de), "00")
'分の計算と時間との結合
d = d & ":" & Format(DateDiff("n", ds, de) Mod 60, "00")
End Function
計算例をイミディエイトで実行してみると
?d(#2006/9/1 7:00#,#2006/9/2 8:11#)
25:11
?d(#2006/9/1 7:00#,#2006/9/1 8:01#)
01:01
のようになります。
こんな感じで、いいのですかね。???
この回答への補足
頂いたソースを実行してみたのですがうまく動かなかったです。。DataDiffで時間と分だけつかってなんとかならないですかね。とりあえず日付をまたぐ勤務は抜きにして。。
17:00-9:00= 休憩1:00 勤務時間 7:00
といった感じにしたいんですが
No.1
- 回答日時:
C3セルの書式設定(時刻)ができていないだけじゃないですか?
Range("C1") = Format(Range("B1") - Range("A1"), "hh:mm")
この回答への補足
でも、昼休みの休憩を引くのに
合計勤務時間は8.5時間以上は1時間休憩
8.5時間未満は休憩時間無しという処理をしたんです。
変数にRange("C1")を代入してもうまくいかないんですよ。
Dim x as string
Range("C1") = Format(Range("B1") - Range("A1"), "hh:mm")
x = Range("C1")
if x >= 8.5 then Range("D1")=7.5
end if
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- その他(ビジネス・キャリア) 日報の実務労働時間の集計について困っています。 2 2023/06/09 19:00
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Excel(エクセル) エクセルの時間の計算、何時以下の場合の足し引きに苦戦しています。 2 2022/11/16 16:39
- 所得・給料・お小遣い 週休3日制のシフト制の日割り計算を教えてください。 給与 22万(総支給) 週休3日制 10時間勤務 1 2022/05/25 07:54
- 労働相談 有給休暇使用時の賃金の計算方法について 5 2022/04/04 00:02
- Visual Basic(VBA) VBAで時間(00:00形式)を積算(足し算)したい 1 2022/11/15 17:04
- その他(Microsoft Office) Excel 勤務時間の計算について~(残業)有.無しの場合。 4 2022/07/17 21:03
- Excel(エクセル) エクセルの早退時間を計算したいです。計算はうまくいっているようですが… 1 2022/12/26 16:22
- C言語・C++・C# numpyスライス機能を使った数値計算 2 2023/05/08 16:01
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
vba 時間の引き算 例えば 15:00から16:15の間の時間は1時間15分ですが、vbaのコード
Visual Basic(VBA)
-
vbaの時間計算について
Excel(エクセル)
-
VBAで時間の型と計算方法教えてください
Excel(エクセル)
-
-
4
Excel VBAの残業時間の合計計算について
その他(プログラミング・Web制作)
-
5
VBAによる時間変換及び時間計算
Excel(エクセル)
-
6
excel vba 時間計算と条件分岐の質問
Visual Basic(VBA)
-
7
VBA入力フォームで労働時間の計算をしたい
Visual Basic(VBA)
-
8
エクセルVBAのIf,Then 構文でOr条件とAnd条件の結合方法?
Excel(エクセル)
-
9
エクセルVBAの時間計算
Excel(エクセル)
-
10
VBAで○○:○○と表示させたいのに小数で0.53125のように表示さ
Access(アクセス)
-
11
[EXCEL]ボタン押す→時刻が表に入る方法
Excel(エクセル)
-
12
31:30:00が1900/1/1 7:30:0
その他(Microsoft Office)
-
13
時間をvbaでセルに1:00と入力する場合
Excel(エクセル)
-
14
エクセルのVBAで日付を検索し転機したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
変化させるセルが変化しない
-
排他的論理和 BCC(水平パリテ...
-
VBAの再計算が反映されない件に...
-
VBAで関数をつくる
-
バッチファイルでウインドウを...
-
モジュラス103の計算とは何でし...
-
EXCELなどで「返す」という表現
-
数値計算の高速化 (cos, sin, exp)
-
傾いた四角形内の範囲の条件式
-
骨折リスク評価のFRAXについて...
-
matlab計算での進捗状況を知りたい
-
Excel VBAにてFFT
-
C言語についてです。 再帰を使...
-
C言語について 下の画像は do-w...
-
アドオン利率を実質年率に変換
-
エクセルで特定のセルのみを任...
-
電卓でmodの計算
-
引き放し法による除算アルゴリ...
-
y=(x^2 +3x+1)^4を微分の定義を...
おすすめ情報