VBA中将日期格式数据转换成数字

在一工作表中,提取数组arr = Range("A1:D" & n),其中A1为时间列,例如1:03:56.000(h:min:s.ms),如何将此时间列转换成数字,进行比较挑选。比如在另一个Workbooks中输出此时间列3836,time1 = DateValue(arr(row, 1)),尝试了好些都显示类型不匹配,time1应该如何赋值,望大神指教。
Worksheets(4).Activate
n = Application.WorksheetFunction.CountA(Range("A:A")) '确定A列数据数量
arr = Range("A1:F" & n)
Workbooks(AB).Sheets(AA).Activate '激活data.Sheets(AA)
For row = LBound(arr, 1) To UBound(arr, 1)
time1 = DateValue(arr(row, 1))
If time1 > 3600 Then
V=arr(row,2)
Sheets(AA).Cells(d + 12, 2) = time1
Sheets(AA).Cells(d + 12, 3) = V
d = d + 1
End If
Next row

第1个回答  2018-01-16
DateValue是把日期变序号,应该是用timeValue吧,然后*24*60*60就是秒了
你试试下面的
time1= TimeValue(WorksheetFunction.Text(arr(row, 1), "hh:mm:ss")) * 24 * 60 * 60
如果有毫秒,可以先取出来,最后再加上本回答被网友采纳

vba 将日期时间类型转换成数字型
vba将日期时间类型转换成数字型的方法。如下参考:1.首先在开发工具中打开VBA编辑器。2.例如,在单元区域中输入一些内容。3.在VBA编辑器中插入模块,如下所示。4.在模块中输入以下代码,然后运行它,如下图所示。5.在a列中以“6-15”格式输入数据数据,单元格将返回“sundate5,June15,2007”,并忽...

VBA中将日期格式数据转换成数字
DateValue是把日期变序号,应该是用timeValue吧,然后*24*60*60就是秒了 你试试下面的 time1= TimeValue(WorksheetFunction.Text(arr(row, 1), "hh:mm:ss")) * 24 * 60 * 60 如果有毫秒,可以先取出来,最后再加上

求助!关于使用vba进行日期格式转换的请教
接着,找到并选中您需要转换日期格式的单元格或数据区域。在Excel的菜单栏上,单击“开发”选项,然后在下拉菜单中选择“Visual Basic”或“VBA”选项,这将打开VBA编辑器窗口。在VBA窗口中,新建一个名为“dateTra”的模块,然后输入以下代码:`Private Sub dateTra() Dim datetime As Date datetime =...

如何通过vba把时间格式的时间转换成特定格式的文本
1、首先使用excel软件打开相关的表格,进入表格界面。2、然后在表格页面中,选择需要转化成日期的区域,这个的目的就是选择相关的区域。3、然后找到开始菜单栏目,这个菜单栏目很容易找到。4、在开始菜单里面可以看到一个数字页面,接着点击右下角的角标,然后进入编辑框。5、在相关的编辑框里面,可以看到有...

如何让日期转换成数字格式?
当然,也可以使用VBA程序快速转换,程序代码如下:Sub Format_D()Dim iOn Error Resume Next '忽略运行过程中可能出现的错误Set mysheet1 = ThisWorkbook.Worksheets("Sheet1") '定义工作表Sheet1mysheet1.Columns("A:A").NumberFormatLocal = "yyyy\/mm\/dd" '设置成日期格式For i = 2 To 1000 ...

求助!关于使用vba进行日期格式转换的请教
1、首先双击打开Excel表格。2、其次在Microsoft Office Excel2007版界面上,选中底部工作表,右键点击“查看代码”。3、接着在弹出的VBA窗口中,输入日期格式转换的代码“Private Sub dateTra() Dim datetime datetime = "2020\/2\/13" MsgBox (Format(datetime, "YYYY-MM-DD")) End Sub ”。4、其次...

vba 日期自动转换 yyyymmdd自动转换为yyyy-mm-dd
用函数就直接用 =--TEXT(F2,"0000-00-00")单元格格式设置为yyyy-mm-dd 这样就可以计算了

VBA日期格式转换问题
1、首先在开发工具中打开VBA编辑器。2、在单元格区域当中输入一些内容作为例子。3、在VBA编辑器中插入模块。4、在模块当中输入如下代码,然后运行。5、在A列输入“6-15”格式之数据,单元格将返回“2007年6月15日星期五”,而在其他列输入则忽略。

excel vba中如何将日期转换为数字进行计算?
用datevalue试试 附件里有示例 Sub ff()Dim a, b, cFor i = 1 To 2a = Cells(i, 1)b = Cells(i, 2)c = Cells(i, 3)If DateValue(c) - DateValue(a) > -1 And DateValue(c) - DateValue(b) >= 0 ThenCells(i, 4) = "Y"End IfNext iEnd Sub ...

...为日期型“yyyy\/m\/d"格式,而到列表框中成为数字了?
因为日期的本质是正整数,从1900年1月1日开始,每天加1。设置单元格格式为日期即可。

相似回答