色々調べたのですが、見つからず困っております。
時間差を求めるマクロコードを教えてください。
例えば、
A1に 18:11:22
B1に 18:15:22
と別々の時刻を入力されているとします。
時刻の差分を出したいのですが、マクロを使用しない場合はC1に=IFERROR(a1-b1,"")とします。
ですがマクロを登録する場合
Cells(1, 1) = Cells(1, 2) - Cells(1, 3)とコードを書いてもエラーになってしまいます。
時刻の差分を求めるにはdateadd関数かformula関数を使用することは調べたのですが
コードの組み合わせが浮かびません。
どなたか教えてください。
後、入力されている分を計算してほしいので繰り返し処理のコードも出来ましたら教えていただきたいです。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんばんは
>Cells(1, 1) = Cells(1, 2) - Cells(1, 3)とコードを
>書いてもエラーになってしまいます
計算方法としては間違ってはいませんけれど、質問文でご説明のセル位置と違っています。
そのコードだと、A1セルに B1 - C1 の結果を記入することを意味しています。
推測ですが、エラーになるのは、B1かC1に文字などが入力されていたりしませんか?
その記述法であれば、
Cells(1, 3) = Cells(1, 2) - Cells(1, 1)
とすれば、そのまま結果が表示できると思います。
(C1セルの表示形式は、時間表示にしておく必要があります)
どうやら、質問者様にはわかりにくいようなので、
Range("C1") = Range("B1") - Range("A1")
という記述法の方が、良いのかもしれません。
ただし、エクセルの時間は負の値を許しませんので、A1>B1 の場合には上記の計算はエラーになります。
ご提示の関数式のように、これを回避するなら、同様の処理を行えばよいです。
If Range("B1") >= Range("A1") Then Range("C1") = Range("B1") - Range("A1") Else Range("C1") = ""
>後、入力されている分を計算してほしいので繰り返し処理のコードも
>出来ましたら教えていただきたいです。
ループ等で繰り返し処理を行う場合は、Cells( row, collumn ) 形式を用いる方が便利です。
例えば、1行目から10行目迄を繰り返すのなら
For r = 1 To 10
Cells(r, 3) = Cells(r, 2) - Cells(r, 1)
Next r
のような要領で、行(または列)を変数にして指定すれば宜しいでしょう。
No.3
- 回答日時:
こんにちは。
>A1に 18:11:22
>B1に 18:15:22
>Cells(1, 1) = Cells(1, 2) - Cells(1, 3)
この前提なら
Cells(1,1)がA1セル、
Cells(1,2)がB1セル、
Cells(1,3)はC1セル
になるけど、C1セル値が時刻でなければエラーになりそうです。
No.2
- 回答日時:
>繰り返し処理のコード
見落としましたが、意味が理解できませんでした
Dim i As Long
i = 1
MsgBox Format(Cells(i, 1).Value2 - Cells(i, 2).Value2, "hh時間,n分,s秒")
日またぎなどは考慮していません
No.1
- 回答日時:
こんばんは
シリアル値として
Dim StartDate As Date, EndDate As Date
StartDate = Range("A1").Value2
EndDate = Range("B1").Value2
MsgBox DateDiff("h", StartDate, EndDate)
MsgBox DateDiff("n", StartDate, EndDate)
MsgBox DateDiff("s", StartDate, EndDate)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
- Excel(エクセル) マクロを教えてください 1 2022/11/28 14:52
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) マクロ実行時、自動で背景色を変えたい。 C列にあるチェックボックスをチェックするとB列に「TRUE」 4 2022/11/08 11:14
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Excel(エクセル) Excelのマクロについて 2 2022/06/14 03:38
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Excel(エクセル) エクセルのセル値に対応してマクロを実行する方法を教えてください セルA1が「1」の時にマクロ名「マク 2 2022/06/19 18:45
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
このQ&Aを見た人はこんなQ&Aも見ています
-
10代と話して驚いたこと
先日10代の知り合いと話した際、フロッピーディスクの実物を見たことがない、と言われて驚きました。今後もこういうことが増えてくるのかと思うと不思議な気持ちです。
-
大人になっても苦手な食べ物、ありますか?
大人になっても、我慢してもどうしても食べれないほど苦手なものってありますよね。 あなたにとっての今でもどうしても苦手なものはなんですか?
-
遅刻の「言い訳」選手権
よく遅刻してしまうんです…… 「電車が遅延してしまい遅れました」 「歯医者さんが長引いて、、、」 「病院が混んでいて」 などなどみなさんがこれまで使ってきた遅刻の言い訳がたくさんあるのではないでしょうか?
-
2024年のうちにやっておきたいこと、ここで宣言しませんか?
2024年も残すところ50日を切りましたね。 ことしはどんな1年でしたか? 2024年のうちにやっておきたいこと、 よかったらここで宣言していってください!
-
好きな和訳タイトルを教えてください
洋書・洋画の素敵な和訳タイトルをたくさん知りたいです!【例】 『Wuthering Heights』→『嵐が丘』
-
一つのTeratermのマクロで複数のTeratermのウィンドウを立ち上げることはできますか?
サーバー
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
TERA TERMを隠す方法
-
ExcelのVBA。public変数の値が...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
エクセルで特定の列が0表示の場...
-
Excel マクロでShearePoint先の...
-
特定文字のある行の前に空白行...
-
マクロで空白セルを詰めて別シ...
-
ExcelVBAでPDFを閉じるソース
-
マクロ実行時、ユーザーフォー...
-
エクセルで縦に並んだデータを...
-
エクセルで別のセルにあるふり...
-
#defineの定数を文字列として読...
-
複数ページあるPDFファイル内の...
-
VBA アドインについて お詳しい...
-
Accessのテーブル、クエリをCSV...
-
ダブルクリックで貼り付けた画...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
エクセルに張り付けた写真のフ...
-
ExcelのVBA。public変数の値が...
-
Excel マクロでShearePoint先の...
-
TERA TERMを隠す方法
-
ExcelVBAでPDFを閉じるソース
-
特定文字のある行の前に空白行...
-
Excel VBAからAccessマクロを実...
-
wordを起動した際に特定のペー...
-
マクロ実行時、ユーザーフォー...
-
エクセルで別のセルにあるふり...
-
マクロで空白セルを詰めて別シ...
-
ソース内の行末に\\
-
Excel_マクロ_現在開いているシ...
-
ダブルクリックで貼り付けた画...
おすすめ情報