excel 中在B列单元格下拉菜单输入内容,C列自动弹出当前时间,且C列的时间不在改变

接着D列下拉菜单输入内容,E列自动弹出当前时间,且E列的时间不在改变,求助啊2楼的方法可以解决我的问题了,但是有新的问题,我做好的excel表无法保存这个宏,再次打开就无... 接着D列下拉菜单输入内容,E列自动弹出当前时间,且E列的时间不在改变,求助啊
2楼的方法可以解决我的问题了,但是有新的问题,我做好的excel 表无法保存这个宏,再次打开就无法使用了,该怎么办?
展开
 我来答
cb...a@yahoo.com.cn
2011-12-13 · TA获得超过1195个赞
知道小有建树答主
回答量:605
采纳率:100%
帮助的人:197万
展开全部
我明白楼主的意思了,所以,请按下述步骤操作。

①、在需要自动弹出当前时间的工作表的标签上点鼠标右键,然后从快捷菜单中选“查看代码”,
②、复制以下代码,粘贴到VBA代码编辑器的代码窗口内,然后关闭VBA编辑器。It's OK!

Private Sub Worksheet_Change(ByVal Target As Range)
With Target.Cells(1)
'if .row<=2 then exit sub '如果第1、2行为标题行,此语句确保不修改标题行
If .Column = 2 Or .Column = 4 Then .Offset(0, 1) = Now
End With
End Sub

不能保存宏?——这是因为你的EXCEL是2007或以上版本的。
解决办法:粘贴代码后,另存为“启用宏的工作薄”即.xlsm格式。而且,在打开这个工作薄时,要启用宏。
Stcxj
高粉答主

2011-12-13 · 繁杂信息太多,你要学会辨别
知道大有可为答主
回答量:7.1万
采纳率:67%
帮助的人:1.8亿
展开全部
找到一段代码,可以实现B1输入内容,C1自动弹出当前时间,但要到明天检验才知道时间是否不再改变:
Alt+F11——菜单栏——视图——代码窗口——复制以下代码后关闭VBA窗口:

Public rgold As Range
Public rgold1 As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set rgold1 = Range("B1")
Set rgold = Target
If rgold <> rgold1 Then
Range("C1") = Now()
Else
Range("C1") = "OK,yes"

End If

Set rgold = Target
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式