VBA日期转化问题 10

现有一表,如下-A列B列2014/3/208:50:292014/2/218:33:22我需要B列只显示年月,这个代码怎么写?一定要用VBA,不能用公式...非常感谢!... 现有一表,如下 -
A列 B列
2014/3/20 8:50:29
2014/2/21 8:33:22

我需要B列只显示年月,这个代码怎么写?
一定要用VBA,不能用公式...
非常感谢!
展开
 我来答
千年擶圽
2014-06-24 · 超过68用户采纳过TA的回答
知道答主
回答量:126
采纳率:100%
帮助的人:61.5万
展开全部
按照你的意思,你返回的值应该是一个String型,而不是日期型,把类型修改后可以运行,另外我觉的你的算法有些不太安全,最好使用日期函数进行运算。

Function date1(a As Integer, b As Integer, c As Integer) As String
If b >= 1 And b < 4 Then date1 = CStr(a - 1) + "-" + CStr(9) + "-" + CStr(30)
If b >= 4 And b < 6 Then date1 = CStr(a - 1) + "-" + CStr(12) + "-" + CStr(31)
If b >= 6 And b < 9 Then date1 = CStr(a) + "-" + CStr(3) + "-" + CStr(31)
If b >= 9 And b < 12 Then date1 = CStr(a) + "-" + CStr(6) + "-" + CStr(30)
If b = 12 Then date1 = CStr(a) + "-" + CStr(9) + "-" + CStr(30)
End Function

vba自带的日期函数:
Date 系统当前的日期
DateValue(字符串) 字符串转换为日期
DateSerial(年,月,日) 指定的年月日转换为日期
DateAdd("x",时间间隔,"日期") 某一日期加上一段时间
DateDiff("x","日期","日期") 两日期间相差一段时间
DatePart("x", "日期") 返回日期的部分
Application.Days360("日期开始", "日期结束") 两日期间的天数(按每月30天计)
DateDiff("d", "日期开始", "日期结束") 两日期间的天数(按实际天数计)
x为:
yyyy 年
q 季
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 时
n 分钟
s 秒
Year("日期") 返回日期的年份
Month("日期") 返回日期的月份
Day("日期") 返回日期的某日
Hour("日期") 返回日期的某时
Minute("日期") 返回日期的某分
Second("日期") 返回日期的某秒
Time 系统当前的时间
Timer 午夜到现在经过的秒数
TimeValue(字符串) 字符串转换为时间
TimeSerial(时,分,秒) 指定的时分秒转换为时间
Now 系统当前的日期和时间
Weekday("日期") 返回日期的星期几
WeekdayName(n) 数字转化成星期几(n为1~7)
MonthName(n) 数字转化成月份(n为1~12)

请参考
群雄领导
推荐于2016-08-06 · TA获得超过860个赞
知道大有可为答主
回答量:1231
采纳率:88%
帮助的人:653万
展开全部
日期转化有三个函数:
1、=DAY(A1),转化为日
2、=MONTH(A1),转化为月
3、=YEAR(A1),转化为年
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光上的桥
2014-06-24 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
这样可以吗?
[b1]=format([a1],"yyyy年mm月")

修改字符串可以实现各种格式
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式