簡體   English   中英

Excel VBA中兩個日期時間之間的隨機日期時間

[英]Random date-time between two date-times in Excel VBA

如何在Excel VBA中的兩個日期之間獲得隨機日期時間?

我試過了

worksheetFunction.Randbetween(time1, time2)

但是只提供沒有小時,分鍾和秒的日期(盡管time1time2包括小時,分鍾和秒)

我還嘗試了以下代碼,我將tmp聲明為字符串。

tmp = DateDiff("s", time1, time2) [to get the seconds]
tmp = Int((tmp +1) * Rnd) [to get a random number inbetween the DateDiff]
tmp = tmp + CDbl(time1)

但那也行不通......

以下代碼應該可以解決問題:

worksheetFunction.Randbetween(time1, time2) + Rnd()

Rnd()將生成一個介於0和1之間的值,並將時間存儲為一天的一小部分

您也可以避開第一部分並使用

time1+Rnd()*(time2-time1+1)

如果你想將time2 '00:00:00'作為上限,或者如果time1time2都是日期時間,則不刪除+1

在使用這兩個版本之前,您還應該使用Randomize語句。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM