EXCEL中,如果K列为空白,在里面输入数据后,同行的D列显示相应的时间

EXCEL中 :
(一) 当K列的单元格是 空白 【原来没有数据在里面】 时,在K列输入数据后
1. 如果同行C列单元格的数据和上一行 不一样,( 如C6不等于C5),D6中自动输入当前时间;
2. 如果同行C列单元格的数据和上一行 一样, (就像C4=C3或C5=C4或C11=C10)这时同行的D列自动输入的时间和上一个单元格的时间相同 (如D5=D4=D3 C11=C10)
3. 时间一旦输入,就不能变化,当然手工可以更改已经输入的时间
(二) 当K 列单元格中间已经有数据【k列的单元格内不是空白时】,只是修改这些数据,同行的D列的时间没有变化,保存原来的时间(如假设现在K5内已经有了56,不是空白,如果怎么去修改K5单元格内的数据,D5都保持原来的数据,不变)
我想用VBA代码实现哦

不得不赞一下,难得遇到一个能把问题表述得如此清楚的知友,一看就是思路清晰的人!省了我大部分时候看着满屏中国字不知道他想要什么,还要费劲地猜!

就冲这个也要把宏写出来!稍等……


=========================================

特别提醒:切记先备份原文件,再在副本上运行下面的宏,以免造成不必要的损失!!

=========================================


Sub TEMP()

Dim TR As Integer '定义TotalRow为总行数
TR = ActiveSheet.Range("C" & Rows.Count).End(xlUp).Row

Dim i As Integer
For i = 4 To TR
    If Range("K" & i) = "" Then
        If Range("C" & i) <> Range("C" & i - 1) Then
            Range("D" & i) = Replace((Format(Now(), "YY/MM/DD HH:MM") & " tt"), "-", "/")
        Else
            Range("D" & i) = Range("D" & i - 1)
        End If
    End If
Next
End Sub

追问

你搞好了吗、

追答

上面就是VBA代码,已经回复给你了。

温馨提示:答案为网友推荐,仅供参考
相似回答