请教VBA函数返回两个日期间隔的时间

作者&投稿:紫波 (若有异议请与网页底部的电邮联系)
请教,如何用VBA计算两个日期之间的工作日~

EXCEL怎么自动计算出两个日期之间相隔几个工作日的解决方法如下: 1、用公式可以:=NETWORKDAYS(a1,b1,"2012-5-1"), 2、节假日要自己手动列出来, 3、NETWORKDAYS函数要安装了“分析工具箱”之后才能使用。

你是不是想在VBA中实现这个目的?

定义两个时间函数,直接想减即可得到两个时间之间相差的秒数,把这个数据格式化为 HH:MM格式即可,例如
Times3=format(times2-times1,"hh:mm")

两个指定日期间的时间间隔数目的VBA函数
返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。
语法
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
DateDiff 函数语法中有下列命名参数:
部分 描述
interval 必要。字符串表达式,表示用来计算date1 和 date2 的时间差的时间间隔
Date1□date2 必要;Variant (Date)。计算中要用到的两个日期。
Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。
firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。
设置
interval 参数的设定值如下:
设置 描述
yyyy 年
q 季
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 时
n 分钟
s 秒
firstdayofweek 参数的设定值如下:
常数 值 描述
vbUseSystem 0 使用 NLS API 设置。
vbSunday 1 星期日(缺省值)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六

常数 值 描述
vbUseSystem 0 用 NLS API 设置。
vbFirstJan1 1 从包含 1 月 1 日的星期开始(缺省值)。
vbFirstFourDays 2 从第一个其大半个星期在新的一年的一周开始。
vbFirstFullWeek 3 从第一个无跨年度的星期开始。
说明
DateDiff 函数可用来决定两个日期之间所指定的时间间隔数目。例如,可以使用 DateDiff 来计算两个日期之间相隔几日,或计算从今天起到年底还有多少个星期。
为了计算 date1 与 date2 相差的日数,可以使用“一年的日数”(y) 或“日”(d)。当 interval 是“一周的日数”(w) 时,DateDiff 返回两日期间的周数。如果 date1 是星期一,DateDiff 计算到 date2 为止的星期一的个数。这个数包含 date2 但不包含 date1。不过,如果 interval 是“周”(ww),则 DateDiff 函数返回两日期间的“日历周”数。由计算 date1 与 date2 之间星期日的个数而得。如果 date2 刚好是星期日,则 date2 也会被加进 DateDiff 的计数结果中;但不论 date1 是否为星期日,都不将它算进去。
如果 date1 比 date2 来得晚,则 DateDiff 函数的返回值为负数。
firstdayofweek 参数会影响使用时间间隔符号 “W” 或 “WW” 计算的结果。
如果 date1 或 date2 是日期文字,则指定的年份成为该日期的固定部分。但是,如果 date1 或 date2 用双引号 (" ") 括起来,且年份略而不提,则在每次计算表达式 date1 或 date2 时,当前年份都会插入到代码之中。这样就可以书写适用于不同年份的程序代码。
在计算 12 月 31 日和来年的 1 月 1 日的年份差时,DateDiff 返回 1 表示相差一个年份,虽然实际上只相差一天而已。
DateDiff 函数示例
本示例使用 DateDiff 函数来显示某个日期与今日相差几天。
Dim TheDate As Date ' 声明变量。
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg

那个d就是表示天数,如果改为yyyy就是年,m就是月,q是季度,h是小时,n是分钟,s是秒数


VBA中两个整数相除 怎样返回向下取整的整数结果?
数字取整可以用下述5种函数完成:1、四舍五入取整 =ROUND(A1,0),Round函数返回一个数值,该数值是按照指定的小数位数进行四舍五入运算的结果。除数值外,也可对日期进行舍入运算。2、截去小数取整=ROUNDDOWN(A1,0),Rounddown函数是指靠近零值,向下(绝对值减小的方向)舍入数字。3、地板函数向下取值 ...

...返回的值是2而不是2.04?另外谁能给我讲讲VBA函数里面步长是什么意思...
如果你定义了一个整型变量来接收10.2\/5的结果,那就肯定是2,不会是2.04。步长就是变量每变化一次的变化幅度,如:for i=1 to 10 step 2 i的取值依次为:1,3,5,7,9 for i=10 to 0 step -3 i的取值依次为:10,7,4,1 ...

请教高手VBA返回函数详解
Function OpenE(Ename As String) As Workbook'说明该函数返回Workbook对象 Dim xlApp As New Excel.Application‘定义一个电子表格应用程序主对象。Dim xlBook As Excel.Workbook’定义一个工作表对象 Set xlBook = xlApp.Workbooks.Open(Ename)‘打开指定文件,并为工作表对象赋值 xlApp.Application...

VBA中使用的三种选择函数是什么?
如果其中有部分不成对,则会产生一个运行错误。【3】Choose函数: 调用格式:Choose(索引式,选项11,选项2,...[,选项n]]) 该函数式根据“索引式”的值来返回选项列表中的某个值。“索引式”值为1,函数返回“选项1”值;“索引式”值为2,函数返回“选项2”值:依次类推。这里,只有在“...

excel利用vba定义函数的教程全解
excel利用vba定义函数的教程 用vba定义函数步骤1:例:下面表格中需要计算一些三角形的面积 用vba定义函数步骤2:B列是底边长,C列是高,要求在D列通过公式计算三角形面积。excel利用vba定义函数的教程 图1 (通常我们会在D3单元格用公式 =B3*C3\/2 来计算,然后把这个公式向D列下方拖动复制,得到其他...

vba函数名一次可带回多个值吗?
用VBA自定义的函数,可设置返回值为文本类型,用字符串变量将多个值组合成一个字符串值返回.

VBA中如何调用其他函数可使用其返回值
答:有2种办法。1、把myChoice定义为模块及变量。也就是把Sub MsgYesNo()里的 “Dim myChoice As Integer”这句放到模块顶端。2、把Sub MsgYesNo()改为函数模块,如 Function MsgYesNo()Dim question As String Dim myButtons As Integer Dim myTitle As String Dim myChoice As Integer questi...

vba excel函数同时返回数据的最大行数和最大列数
F2))),这也是数组公式,即同时按Shift+Ctrl+Enter结束公式编辑,会自动生成一对{};上面也是数组公式,可以用SUMPRODUCT函数来转一下,就成为普通公式,不需要三键齐按;再用INDEX函数返回第一行相应列的值即可达到目的:=INDEX(1:1,SUMPRODUCT(10-MAX((A2:F2<>0)*(10-COLUMN(A2:F2)))。

Excel vba应该怎么操作返回的数组
你是说函数的返回值是一个数组么,可以把这个函数的结果赋值给一个变量,也可以直接函数后面加索引号操作,参考一下如下示例代码:Option Explicit'第一种,直接用函数后面加索引的形式访问返回数组StrToArr(s)(2)Sub test1() Dim s As String s = "1,2,4,5,6" MsgBox StrToArr(s)...

...向上查找最近一个相同值,然后返回两数值间隔的行数?用什么函数...
假设那些原始数据在A1:A100中,B1中反正不会有相隔的内容,从B2开始吧,B2中输入 =IF(COUNTIF(A$1:A2,A2)<2,"",ROW()-LOOKUP(1,0\/(A$1:A1=A2),ROW($1:1)))用自动填充柄下拉。

会泽县18337068625: 请教VBA函数返回两个日期间隔的时间 -
德待右旋: 两个指定日期间的时间间隔数目的VBA函数 返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目. 语法 DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]]) DateDiff 函数语法中有下列命名参数: 部分 描述 interval 必要....

会泽县18337068625: 如何写vba来获取两个时间的差并以秒来表示 比如:9:09:09 与 8:19:20 之间的时间差,将结果换算成秒 -
德待右旋: 使用 DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]]) 返回 Variant (Long) 的 值,表示两个指定日期间的时间间隔数目DateDiff("s", "9:09:09", "8:19:20") 结果得到-2989

会泽县18337068625: 请教,如何用VBA计算两个日期之间的工作日
德待右旋: EXCEL怎么自动计算出两个日期之间相隔几个工作日的解决方法如下: 1、用公式可以:=NETWORKDAYS(a1,b1,"2012-5-1"), 2、节假日要自己手动列出来, 3、NETWORKDAYS函数要安装了“分析工具箱”之后才能使用.

会泽县18337068625: VBA两个日期间隔多少天怎么计算 -
德待右旋: Sub 计算日期() Dim BegDate, EndDate, Msg BegDate = InputBox("请输入起始日期:") EndDate = InputBox("请输入结束日期:") MsgBox "两者相差天数为: " & DateDiff("d", BegDate, EndDate) & "天" End Sub

会泽县18337068625: VB里面算两个日期之间相隔的天数用哪个函数 -
德待右旋: 使用函数datediff(i,d1,d2[,fw[,fy]]) i 必要.字符串表达式,表示用来计算date1 和 date2 的时间差的时间间隔 参数的设定值如下: 设置 描述 yyyy 年 q 季 m 月 y 一年的日数 d 日 w 一周的日数 ww 周 h 时 n 分钟 s 秒 Fw 可选.指定一个星期的第一天的常数.如果未予指定,则以星期日为第一天. fy 可选.指定一年的第一周的常数.如果未予指定,则以包含 1 月 1 日的星期为第一周.

会泽县18337068625: vb 的日期函数 -
德待右旋: DateDiff 函数返回两个日期之间的时间间隔. DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])DateDiff 函数的语法有以下参数:参数interval必选项.String expression 表示用...

会泽县18337068625: 要用VB,自己输入两个时间,然后算这两个时间的差(小时).这个应该怎么操作呢? 谢谢! -
德待右旋: 比如设置两个textbox text1和text2,程序运行时输入两个日期,按 年-月-日 时:分:秒 的格式来输入,然后点击command1来计算 Private Sub Command1_Click() MsgBox (CDate(Text1.Text) - CDate(Text2.Text)) * 24 End Sub 先把 text转换成date,再计算,结果是以天来计算的,*24,转成小时. ===========补充 字符串转日期型的函数是 cdate()

会泽县18337068625: 在VB中,如何根据两个日期的相减结果,获得诸如“相距XX年XX月XX日”这样的结果? -
德待右旋: DateDiff 函数 返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目.例子:使用 DateDiff 函数来显示某个日期与今日相差几天.Dim TheDate As Date ' 声明变量.Dim Msg TheDate = InputBox("Enter a date") Msg = "Days from today: " & DateDiff("d", Now, TheDate) MsgBox Msg

会泽县18337068625: 怎样在VB上求隔天的两个日期时间对比 -
德待右旋: 使用VB提供的时间函数 DateDiff 函数,可以返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目.语法DateDiff(interval, date1, date2)其中:interval是一个字符串表达式,下面列举一些它的常用值以及含义:yyyy -- 年q -- 季m -- 月d ...

会泽县18337068625: 求编写一个关于计算日期、时间的VB函数 -
德待右旋: Function GetSeconds(bt as string, et as string) as IntegerGetSeconds = DateDiff("s", DataValue(bt), DataValue(et)) End Function DateDiff 函数的具体用法如下: DateDiff 函数 返回 Variant (Long) 的值,表示两个指定日期间的时间间隔...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网