求助!关于使用vba进行日期格式转换的请教

求助!关于使用vba进行日期格式转换的请教,第1张

工具/材料:Microsoft Office Excel2007版,Excel表格。

1、首先双击打开Excel表格。

2、其次在Microsoft Office Excel2007版界面上,选中底部工作表,右键点击“查看代码”。

3、接着在d出的VBA窗口中,输入日期格式转换的代码“Private Sub dateTra() Dim datetime datetime = "2020/2/13" MsgBox (Format(datetime, "YYYY-MM-DD")) End Sub

”。

4、其次在d出的VBA窗口中,点击工具栏里的三角形图标。

5、最后在Microsoft Office Excel2007版界面上,d出提示框,成功显示日期格式转换。

1以下图中表格的数据为例演示 *** 作方法。

A1单元格显示当前日期与时间

2先说下提取年份

比如,所提取的年份在B1单元格显示;

在B1单元格输入公式:=TEXT(A1,"YYYY")

3按回车键盘,B1单元格即提取了A1单元格数据的年份“2016”;

也可以在B1单元格输入公式:=YEAR(A1)按回车键,同样可以提取“2016”。

4接着说提取月日

比如,所提取的月日在B1单元格显示;

在B1单元格输入公式:=TEXT(A1,"M月D日")

5按回车键,B1单元格即提取了A1单元格数据的月日“12月10日”;

如果不要“月”和“日”两字的,改为“-”的,只要把公式改为:=TEXT(A1,"M-D")即可。

6接着说提取时间,数据如下图所示。

比如,所提取的时间在B1单元格显示;

在B1单元格输入公式:=TEXT(A1,"H:MM")

7按回车键,B1单元格即提取了A1单元格数据的时

间“7:54”。如下图所示。

在VBA中,可以使用Format方法将日期以指定的格式存入TextBox中。例如,可以使用以下代码将当前日期存入TextBox:TextBox1Value = Format(Date,"yyyy-mm-dd"),其中yyyy表示4位数年份、mm表示2位数月份、dd表示2位数日期。

'单元格A1为时间值

'时间相同

If Range("A1") = Now() Then

'DO 时间相同

Else

MsgBox ("时间不同")

End If

'日相同

If Day(Range("A1")) = Day(Now()) Then

MsgBox ("与当前时间的日期相同")

Else

MsgBox ("不同")

Exit Sub

End If

'月份相同

If month(Range("A1")) = month(Now()) Then

MsgBox ("月份相同"))

Else

MsgBox ("月份不同")

Exit Sub

end if

'年份相同

If year(Range("A1")) = year(Now()) Then

' do 年相同

Else

MsgBox ("不同")

Exit Sub

end if

DateAdd("d",

10,

Date)

DateAdd

函数

返回包含一个日期的Variant(Date),这一日期还加上了一段时间间隔。

语法

DateAdd(interval,

number,

date)

DateAdd函数语法中有下列命名参数:

部分

描述

interval

必要。字符串表达式,是所要加上去的时间间隔。

number

必要。数值表达式,是要加上的时间间隔的数目。其数值可以为正数(得到未来的日期),也可以为负数(得到过去的日期)。

date

必要。Variant(Date)

或表示日期的文字,这一日期还加上了时间间隔。

设置

interval参数具有以下设定值:

设置

描述

yyyy

q

m

y

一年的日数

d

w

一周的日数

ww

h

n

分钟

s

说明

可以使用DateAdd函数对日期加上或减去指定的时间间隔。例如,可以用DateAdd来计算距今天为三十天的日期;或者计算距现在为

45

分钟的时间。

为了对date加上“日”,可以使用“一年的日数”

(“y”),“日”

(”d”)

或“一周的日数”

(”w”)。

DateAdd函数将不返回有效日期。在以下实例中将

1

月31

日加上一个月:

DateAdd(m,

1,

31-Jan-95)

上例中,DateAdd返回

1995

2

28

日,而不是

1995

2

31

日。如果date是

1996

1

31

日,则由于

1996

年是闰年,返回值是

1996

2

29

日。

如果计算的日期超前

100

年(减去的年度超过date中的年份),就会导致错误发生。

如果number不是一个Long值,则在计算时取最接近的整数值来计算。

注意DateAdd返回值的格式由Control

Panel设置决定,而不是由传递到date参数的格式决定。

Sub Test()

Dim T1&, T2&, iDate1 As Date, iDate2 As Date, T%

T1 = 130730

T2 = 130523

iDate1 = Format("20" & T1, "0000-00-00")

iDate2 = Format("20" & T2, "0000-00-00")

T = DateDiff("D", iDate2, iDate1)

MsgBox T

End Sub

应该把你的数据转换为日期数据后,再计算天数,结果T=68天

以上就是关于求助!关于使用vba进行日期格式转换的请教全部的内容,包括:求助!关于使用vba进行日期格式转换的请教、EXCEL如何从系统中提取时间的年份值、vba中textbox中怎么存日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9577316.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存