EXCEL高手帮忙A1中打1在B1里显示但前日期且不变

来源:百度知道 编辑:UC知道 时间:2024/06/05 11:10:31
EXCEL高手帮忙A1中打1在B1里显示但前日期且不变

我想实现在A1里打上个数字1,则在B1里显示当天日期,并且到第二天那日期不会随系统时间变动。
我一开始用的是=IF(A1="","",NOW()) 但是不行,日期是显示了但到了第二天又变成第二天的日期了,跟着系统时间变。

在工作中到员工手中的工作用打上1来确定工作是哪天到手里的。万分感谢
大哥大姐~我VBA不会,能不讲教我,VBA能弄到EXCEL里么~怎么弄进去,具体怎么实现~!

我在此不想占“方括号”的便宜,建议楼主选择他的答案,因为他的这段代码已经圆满地解决了楼主的问题。但于Excel新手来说,这样的回答难免不知如何操作,有必要在此解释如何操作及代码的含义。

操作方法:
工具→宏→Visual Basic 编辑器
双击左侧的sheet1(sheet1是当前工作表的名称,如果你的当前工作表名称为“我的工作表”,那就双击“我的工作表”)。双击后,才能弹出代码输入框。
将代码复制一下,粘贴进去
关闭编辑器
这样,就已经实现了你所说的功能。

============下面将代码含义解释一下:==================
Private Sub Worksheet_Change(ByVal Target As Range)
上面这是代码模块头,与最后的End Sub是一对,表明了代码的工作域为Worksheet(工作表),_change,是变化的意思,即当工作表内容发生变化时,执行Privat Sub...End Sub之间的代码

For i = 1 To 100
...
Next
这是一个循环语句,具体来说,这里规定的作用的有效区域,1表示第1行,100表示第100行,中间的to就是到的意思,For i=1 to 100,就是从第1行到第100行有效。因此如果要设置第2行到200行有效,就改为“For i=2 to 200”

AA = "A" & i
BB = "B" & i
上面这两句是赋值语句,指定了两个变量AA和BB,分别A列和B列的单元格名称,当然你也可以指定其他的名称,等号右边的内容"A"在这里表示A列,即你要输入的列,i如前所说,是行号。&是字符运算符,可以将不同的字符串连接在一起。

if ... then
...
End if
是判断语句,if后跟判断条件,then与End if之间的内容为满足条件时要执行的语句。

Range(BB).Value = Now()
“=