Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


135 / 73631 ←次へ | 前へ→

【79129】Re:型が違います
お礼  Ackkn E-MAIL  - 17/5/17(水) 9:59 -

引用なし
パスワード
   ▼Ackkn さん:
>▼カリーニン さん:
>>試しに、セルに
>>
>>="00:15"+"00:32"
>>
>>としてみてください。セルの書式をを時刻形式にしておけば
>>0:47:00
>>と表示されると思います。
>>これは、"00:15"や"00:32"という文字列をエクセルが自動的に時刻データ
>>と判断してシリアル値に変えてくれているからです。
>>
>>逆に、
>>=00:15+00:32
>>とすることは出来ません。シリアル値やセルを参照する場合は直接指定できますが、文字列を
>>指定する場合は""で括る必要があります。
>>
>>シリアル値の一日は「1」
>>シリアル値の一時間は「1/24」
>>シリアル値の一分は「1/(24*60)」
>>になります。
>>
>>ワークシートで8:47を15分で丸める場合です。
>>=FLOOR("8:47","0:15")
>>=FLOOR("8:47",1/(24*4))
>>=FLOOR(0.365972222222222,1/(24*4))
>>
>>セルの場合は、このように入力した「時刻のように見える」数値や文字列を自動的にシリアル値
>>に変換して計算してくれます。
>>VBAでは、ユーザーが命令しないといけません。
>
>カリーニン さん:
>
>ありがとうございます。
>なるほど、分かりました。
>
>そういうことですね。
>早速確認してみます。

カリーニン さん:
マナ さん:

無知な私にお付き合いくださり、ありがとうございました。
無事に動きましたことご報告いたします。
ワークシート関数をVBAで使う場合のシート上での動作と違うこと
を知り、大変勉強になりました。
以下に最終コードを載せておきます。
本当にありがとうございました。

  Set xlAPP = Application
  tm_str = "09:12"
  tm_tmp = TimeValue(tm_str)
  tm_tmp = xlAPP.WorksheetFunction.Floor(tm_tmp, TimeValue("00:15"))
  tm.Value = Format(tm_tmp, "HH:MM")

55 hits

【79118】型が違います Ackkn 17/5/16(火) 17:35 質問[未読]
【79119】Re:型が違います マナ 17/5/16(火) 19:16 発言[未読]
【79120】Re:型が違います Ackkn 17/5/16(火) 19:43 発言[未読]
【79121】Re:型が違います マナ 17/5/16(火) 20:24 発言[未読]
【79122】Re:型が違います Ackkn 17/5/16(火) 22:33 発言[未読]
【79123】Re:型が違います カリーニン 17/5/16(火) 23:23 発言[未読]
【79124】Re:型が違います Ackkn 17/5/16(火) 23:41 発言[未読]
【79125】Re:型が違います カリーニン 17/5/16(火) 23:51 発言[未読]
【79126】Re:型が違います Ackkn 17/5/17(水) 0:05 発言[未読]
【79127】Re:型が違います カリーニン 17/5/17(水) 0:26 発言[未読]
【79128】Re:型が違います Ackkn 17/5/17(水) 6:37 発言[未読]
【79129】Re:型が違います Ackkn 17/5/17(水) 9:59 お礼[未読]

135 / 73631 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free