Excel VBA質問箱 IV

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

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


41801 / 76732 ←次へ | 前へ→

【40009】Re:時間の丸めについて
発言  ichinose  - 06/7/5(水) 13:42 -

引用なし
パスワード
   ▼kaoru さん:
こんにちは。

ちょっと訂正
>
   tmarray = Array(TimeValue("10:30"), TimeValue("9:00"), TimeValue("8:30"),TimeValue("7:00"))
'[]での囲みを取りました。付けておいても不具合はないですが、意味としては
'取ったほうが良いと思います。
>>  Set rng = Range("b1", Cells(Rows.Count, "b").End(xlUp))
>>  For Each crng In rng
>>    With crng
>>     If .Value <> "" Then
>>       ans = Application.Match(.Value, tmarray, -1)
>>       If Not IsError(ans) Then
>>        .Value = tmarray(ans - 1)
>>        End If
>>       End If
>>     End With
>>    Next
>>  Erase tmarray

> の解説を簡単にお願いいたします。

これだけのコードですから、HELP等を利用して解読してみてください。
その上で不明な点は具体的に記述してください。

このコードは、「ワークシート関数のMatchをVBAで使う」
がキーポイントです。
   tmarray = Array(TimeValue("10:30"), TimeValue("9:00"), TimeValue("8:30"),TimeValue("7:00"))

というコードで配列を作っていますが、この仕様だと本来は
コード内に定数(10:30や9:00や8:30や7:00の記述です)を記述すべきでは
ないと思っています。

だって、将来、10:30 が 11:00に変わる可能性は十分考えられますからねえ!!
また、基準になる時刻が増える可能性も否定できませんよね?

本当は、予めセルに上記の時刻を入力しておけば、時刻の変更や基準になる時刻が
増えてもコードの変更をしなくても済むと思いますよ!!

こんなところが上記のコードのコンセプトです。

0 hits

【39955】時間の丸めについて kaoru 06/7/4(火) 16:21 質問
【39958】Re:時間の丸めについて ハチ 06/7/4(火) 16:28 発言
【39959】Re:時間の丸めについて kaoru 06/7/4(火) 16:31 発言
【39964】Re:時間の丸めについて ハチ 06/7/4(火) 17:07 回答
【39969】Re:時間の丸めについて kaoru 06/7/4(火) 17:37 お礼
【39963】Re:時間の丸めについて kaoru 06/7/4(火) 17:05 発言
【39968】Re:時間の丸めについて ハチ 06/7/4(火) 17:24 回答
【39971】Re:時間の丸めについて kaoru 06/7/4(火) 17:55 質問
【39976】Re:時間の丸めについて ichinose 06/7/4(火) 20:08 発言
【39998】Re:時間の丸めについて kaoru 06/7/5(水) 8:56 お礼
【40009】Re:時間の丸めについて ichinose 06/7/5(水) 13:42 発言
【40057】Re:時間の丸めについて kaoru 06/7/6(木) 10:13 お礼

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