
日付無しで時間の足し算引き算がしたいの調べたのですがありませんでした。
constでDatetimeはあったので使い方もよくわかりません、
やりたいイメージは、セルに入力されている行の時刻とパターンで加算したいです
dim a,b
const time1 = time(00:01:01) 1分1秒をconstしたい
const time2 = time(00:02:01) 2分1秒をconstしたい
const time3 = time(00:20:00) 20分をconstしたい
a = cell(2,2)~(22000,3) ここに時刻が12;30のように入っている,各行入っており
b = cell(2,3)~(22000,3) ここにパターンが入っている
最終行は22,000です。
case b =1
time = a + time1
case b =2
time = b + time2
cell(2,4) = time
2万行くらいのデータで関数を使いたくないです。
よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
VBAでは、日付はできても、時間計算はそのままでは、できないはずです。
小数点演算には、どこかで、浮動小数点誤差丸めが発生してしまいます。計算上のおよそ5割、小数点演算で誤差が発生してしまいます。理由は、PCの計算はバイナリーだからです。>2万行くらいのデータで関数を使いたくないです。
そのまま考えずにやったら、誤差丸めに直面してしまいます
また、定数の中は計算ができません。リテラル値に限ります。
その中で、文字型定数が一番安定しているのではないかと思います。少なくともTimeValue 計算をする前まで変化はしていません。そのあとに、CDec で、十進型にして上げれば、数式が、10進で計算されるようになるはずです。これは、理論的なことなので、実際に、ふつうの計算をした場合と見かけは変わらないかもしれません。
'//
Sub TimeCalculate()
Dim i As Long
Dim LastRow As Long
Const TIME1 As String = "0:1:1"
Const TIME2 As String = "0:2:1"
Const TIME3 As String = "0:20:0"
Dim ArTime
ArTime = Array(TimeValue(TIME1), TimeValue(TIME2), TimeValue(TIME3))
LastRow = Cells(Rows.Count, 2).End(xlUp).Row 最後の行
Application.ScreenUpdating = False
'先に書式が来たほうが、貼り付けが安定する。
Range(Cells(2, 4), Cells(LastRow, 4)).NumberFormatLocal = "[h]:mm:ss"
For i = 2 To LastRow
If (Cells(i, 2).Value > 0 And Cells(i, 2).Value < 4) Then
Cells(i, 4).Value = Cells(i, 3).Value + CDec(ArTime(Cells(i, 2).Value - 1)) '十進の計算
End If
Next i
Application.ScreenUpdating = True
End Sub
'//
ここは。
>a = cell(2,2)~(22000,3) これは、a = cell(2,2)~(22000,2) と読み替えました。
そして、以下のようになっていると仮定しています。
B C
2 0:10:49
1 0:06:47
3 0:05:10
2 0:09:54
3 0:09:55
1 0:07:12
No.2
- 回答日時:
こんにちは。
>時間の足し算引き算がしたいの~
既回答にもありますが、時間(シリアル値)であれば、加減算ができます。
ちなみに、エクセルのシリアル値は1日が1に相当し、1時間は1/24、1分は1/24/60・・に該当します。
加算の結果が24時間を越えると、通常の書式では日に繰り上げられますが、書式を設定することで、時間単位で「35時間」のような表示にすることも可能です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- その他(ソフトウェア) OMRON PLC CP2Eのプログラム 1 2022/11/24 10:57
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- Visual Basic(VBA) 数式が消える 1 2023/03/19 16:55
- 工学 ちなみになぜv=(v・e1)e1+(v・e2)e2はe1やe2が、正規直交基底でないと成り立たないと 2 2022/12/22 17:22
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
このQ&Aを見た人はこんなQ&Aも見ています
-
「それ、メッセージ花火でわざわざ伝えること?」
「それ、メッセージ花火でわざわざ伝えること?」というメッセージを教えて下さい
-
ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
ゴリラ向け動画配信サイト「ウホウホ動画」にありがちなことを教えて下さい。
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
一番好きなみそ汁の具材は?
みんなで大好きなみそ汁の具材について語り合おうよっ!
-
かっこよく答えてください!!
あなたは今にも別れそうなカップルの彼女の恋愛相談に乗っています。
-
vba 時間の引き算 例えば 15:00から16:15の間の時間は1時間15分ですが、vbaのコード
Visual Basic(VBA)
-
VBAで時間(00:00形式)を積算(足し算)したい
Visual Basic(VBA)
-
vbaの時間計算について
Excel(エクセル)
-
-
4
vba セルに入力した時間をマクロで受け取るには?
Excel(エクセル)
-
5
時刻の比較
Visual Basic(VBA)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
エクセルVBAの時間計算
Excel(エクセル)
-
8
24時間以上の表示
Excel(エクセル)
-
9
分を時間に変換するプログラム
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【エクセル】四捨五入・二捨三...
-
エクセル2010で2進数の計算をす...
-
【有効数字について】 授業で、...
-
VBAで時間の型と計算方法教えて...
-
Excelの時刻の不思議
-
1TBHDDに音楽ファイルは何ア...
-
有効数字
-
12万の5%はいくらですか?
-
EXCELでの16進数取り出し、上...
-
エクセルVBAで xlOn xlOff の切替
-
携帯電話の略語であるMBって英...
-
Pingについてご教授ください。
-
アルファベット30文字は何バイ...
-
GB と Gbの違いの意味
-
byte、KB、MB の単位の変換につ...
-
16進数どうしの乗算
-
4.47GBのISOファイルがDVDに焼...
-
実行計画の「COST」と「BYTE」...
-
arduino
-
COM1(RS232C)とUSB仮想COMポー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【有効数字について】 授業で、...
-
1TBHDDに音楽ファイルは何ア...
-
16bitはダイナミックレンジが97...
-
エクセル2010で2進数の計算をす...
-
【エクセル】四捨五入・二捨三...
-
もしコンピューターが2進数か...
-
ブルーレイディスクの容量に関...
-
有効数字計算 確定した値を含む
-
12万の5%はいくらですか?
-
進数の計算について質問です。 ...
-
1秒は何ミリ秒とか、単位変換の...
-
かけ算(わり算)と足し算(引き算...
-
なぜ1と0か?
-
VBAで時間の型と計算方法教えて...
-
有効数字は最後答えを出すとき...
-
Excelの累乗について式とVBAで...
-
次の加算(2進数4ビット)でオ...
-
Excelの時刻の不思議
-
有効数字について
-
有効数字
おすすめ情報