Excel =IF 公式使用 Today() 作为日期戳,在不需要的单元格中填充响应

问题描述 投票:0回答:1

在单元格中

AA2
我正在使用公式
=IF(A2:Z2<>A2:Z2, "", TODAY())

如果对单元格

AA2
A2
进行任何编辑,此公式应该用今天的日期更新
Z2
。这是可行的,但是它还会用方程填充该行中接下来的 25 个单元格。顶部框中的配方不是通常的深黑色,而是柔和的灰色。仅当激活公式时才会发生这种情况,因此如果该行没有条目,则没有日期戳或带有日期戳的额外单元格。

有没有办法限制这个公式只在单元格中使用和显示

AA2

excel if-statement excel-formula cell
1个回答
0
投票

我设法解决了这个问题。它需要使用 VBA 宏,还需要将 excel 文档另存为 .xlsm

首先在 VBA 编辑器中,我使用以下代码创建了一个新模块:

Sub UpdateTimeStamp()
Dim Target As Range
Dim targetRow As Long
Set Target = Range("A:Z")  ' Replace A:Z with your actual data range  
Set Target = Application.Intersect(Target, ActiveCell)
If Target Is Nothing Then Exit Sub
targetRow = Target.Row
Worksheets("Data-Set").Cells(targetRow, 27).Offset(-1, 0).Value =  
Now 
End Sub

接下来,在 VBA 编辑器中的工作表本身下,我输入以下代码:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:Z")) Is Nothing Then 
UpdateTimeStamp 
    End If
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.