Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: haohaizi007

[已解决]请老师看一下这段代码,关于如何使取值变为日期格式

[复制链接]
 楼主| 发表于 2015-6-15 17:27 | 显示全部楼层
wayy 发表于 2015-6-15 16:31
可以加判断用if,如果大于today(),then,0

老师,再宏里怎么用datedif语句?

我直接插入   
Dim i%, m%
m = [g65536].End(xlUp).Row

For i = 4 To m
=DATEDIF([G,i];TODAY();"M")

这句话就提示错误了
回复

使用道具 举报

发表于 2015-6-15 17:42 | 显示全部楼层
haohaizi007 发表于 2015-6-15 17:27
老师,再宏里怎么用datedif语句?

我直接插入   

MsgBox DateDiff("d", [a1], [a2])
代码中与函数不太一样。a1与a2为存放日期的单元格,你试着改一下吧。
回复

使用道具 举报

 楼主| 发表于 2015-6-15 17:50 | 显示全部楼层
wayy 发表于 2015-6-15 17:42
MsgBox DateDiff("d", [a1], [a2])
代码中与函数不太一样。a1与a2为存放日期的单元格,你试着改一下吧。 ...

Sub 第三步()

Application.WorksheetFunction.DateDiff
Dim i%, m%
m = [g65536].End(xlUp).Row

For i = 4 To m
   MsgBox DateDiff("m", ["u" & i], TODAY())
   Next


End Sub


老师,运行的时候显示找不到功能 datediff
还有就是    MsgBox DateDiff("m", ["u" & i], TODAY())  这句话,我为了和今天做差,直接像我这样写 TODAY()
可以吗?

点评

代码中当前日期用date,不用today,而且没有后面的括号。  发表于 2015-6-16 15:23
回复

使用道具 举报

发表于 2015-6-16 10:55 | 显示全部楼层
谢谢
回复

使用道具 举报

发表于 2015-6-16 15:28 | 显示全部楼层    本楼为最佳答案   
  1. Sub 第三步()
  2. Dim i%, m%
  3. m = [g65536].End(xlUp).Row
  4. For i = 4 To m
  5.    MsgBox DateDiff("m", Cells(i, "u"), Date)
  6. Next
  7. End Sub
复制代码
注意学习一下range和cells的用法,如果行或者列是变量,用这两个函数。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-17 06:00 , Processed in 0.271521 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表