在EXCEL VBA写代码 要求是:比如我在A列输入随便内容,B列就自动填入输入内容时的日期

且填入时间只跟输入内容时的时间一致.反过来讲.比如想在C列输入内容,D列自动填入输入内容时的时间,VBA代码又该怎么写.(填入的时候不随当前时间变化,就是说只能是A列或C列输入内容时那时候的时间)
还有,如果要让以上两个都成立时又要怎么写VBA (A或C列有输入内容时,B或D就会自动填入时间)

把代码粘贴到你要生成数据的表,这是使用单元格事件完成的,也就是说在A、C两列输入数据时,B、D就相应写入当前的日期和时间,且这个时间不会随系统时间改变而改变,只是输入数据的时间。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim iR&, x&
If Target.Column = 1 Or Target.Column = 3 Then
iR = Target.Row
x = Target.Column
Cells(iR, x + 1) = FormatDateTime(Now(), 0)
End If
End Sub
或者用
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Or Target.Column = 3 Then
Cells(Target.Row, Target.Column + 1) = FormatDateTime(Now(), 0)
End If
End Sub
不明白怎么用可HI我。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2021-02-12
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Dim xx As String
xx = Target.Row
Range("B" + xx) = Date
End If
End Sub
以上代码实现了在A列写入内容,在B列显示,写A列的时间,C列写内容,D列写入时间,以此类推本回答被提问者采纳
第2个回答  2017-01-03
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Count = 1 Then
If Target.Column = 1 Then Target.Offset(, 1) = Now
End If
End Sub

按ALT +F11 进入VBE界面
将上面代码放入 thisworkbook 内即可
第3个回答  2011-02-28
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
For Each c In Target
If c.Column = 1 Or c.Column = 3 Then
If c.Value = "" Then
c.Offset(0, 1).Value = ""
Else
c.Offset(0, 1).Value = Now
End If
End If
Next
End Sub
---------
按ALT+F11,打开代码窗口,将上面的代码复制入其中,返回sheet表,就可以实现了
第4个回答  2016-12-11
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then
Target.Offset(0, 1).Value = Date
End If
End Sub

在EXCEL VBA写代码 要求是:比如我在A列输入随便内容,B列就自动填入输入...
把代码粘贴到你要生成数据的表,这是使用单元格事件完成的,也就是说在A、C两列输入数据时,B、D就相应写入当前的日期和时间,且这个时间不会随系统时间改变而改变,只是输入数据的时间。Private Sub Worksheet_Change(ByVal Target As Range)Dim iR&, x& If Target.Column = 1 Or Target.Column ...

excel表格中,我要在当A1输入内容时,则b1自动填充当天的日期
Excel 内 右键 点工作表 名字--查看代码,如下代码 复制进去,存为启用宏的工作薄,启用宏可使用:Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Column = 1 Then '如果当前编辑单元格在第1列 A列 If Target <> "" Then Target.Offset(0...

excel求代码,当在A1至A100输入数据,B列对应的单元格显示当天的日期且不...
按Alt + F11,回到Excel,你在A列输入一个数据去试一试!!!

excel中用vba宏怎么 在A列包含指定内容的条件下 让B列自动填充文本
在B2中输入 =IF(ISNUMBER(FIND("PI",A2)),"入库",IF(ISNUMBER(FIND("RO",A2)),"退货",""))下拉填充

excel 时间函数问题 当A列中输入文字后 B列自动填时间 怎么做_百度...
菜单栏,工具,选项,重新计算,勾选迭代计算,最多迭代次数设为1次 在B1输入公式 =IF(A1="","",IF(B1="",TODAY(),B1))就可以 A1单元格输入数据,则在B1显示输入当天的日期,有改动不改变日期

如何实现Excel表格中在一个单元格输入任意内容后,另一个单元格自动填充...
并且A1单元格中有新的内容,则B1单元格会自动填充“已设定内容”。如果A1单元格内容被清空,B1单元格的内容也会被清除。要实现这个VBA宏,你需要打开Excel的VBA编辑器,然后在相应的工作表代码模块中输入上述代码。之后,每当你在A1单元格中输入内容时,B1单元格就会自动更新为你设定的内容。

大侠,请教您一个问题:EXCEL,A列数据手工输入,B列自动生成A列输入时的日...
If Target.Column = 1 And Target.Text <> "" Then '用if函数,如果活动单元格为A列(1就是A列,这里你可以更改为任意列,比如2=B列,3=C列,4=D列等等)且单元格内容为空,则执行下列动作 Target.Offset(0, 1) = Now Selection.NumberFormatLocal = "yyyy-m-d h:mm;@"'活动单元格的...

excel 设置如果我在A1输入任意数字则在B1显示当前时间日期
首先:要启动迭次运算,设置-公式-启用迭代计算 其次,在B列输入公式:=IF(A1="","",IF(B1<>"",B1,TEXT(NOW(),"yyyy-mm-dd hh:mm:ss")))然后你再A列输入内容的时候就可以记录时间了 不过最好还是建议用VBA获取,因为公式其实是不稳定的。公式的执行条件是对监视单元格的“非空”判断,...

excel中在A列中输入数字后B列中自动插入系统时间并不随时间变化.C列输 ...
亲,按Alt+F11打开VBA编辑窗口,在对应的Sheet的 Worksheet_Change事件中粘贴以下代码:可以实现:当您在那个Sheet的奇数列(1、3、5、……)输入字符,则它右边那个单元格会填入系统时间;当您删除这个单元格内容时,右边的时间也会被清除。Private Sub Worksheet_Change(ByVal Target As Range)If ...

Excel表格在一个单元格输入任意内容另一个单元格自动填我设定的内容怎样...
在Excel表格中实现一个单元格输入任意内容时,另一个单元格自动填充设定内容的功能,可以通过使用Excel的“数据验证”结合“IF”函数或VBA宏来实现。但考虑到不使用表格和图片的限制,这里提供一个基于“IF”函数的简单方法,适用于不需要复杂逻辑判断的场景。首先,假设我们希望在A1单元格输入任意内容时,...

相似回答