gpt4 book ai didi

excel - 当对相邻单元格进行更改时,自动填充单元格中的日期

转载 作者:行者123 更新时间:2023-12-04 22:01:03 26 4
gpt4 key购买 nike

我在 Excel 中找到了可以工作的代码这几乎可以满足我的需要。

我的需要是当在另一列的单元格中进行更改时,将今天的日期自动添加到一列的单元格中。因此,如果我单击 M 列第 20 行的单元格并更改数据或添加数据(在这种情况下,它是带有下拉列表的状态列),那么在第 N 行第 20 列的单元格中,它将放置今天的日期或用今天的日期替换旧日期。 (每次更改状态下拉菜单。)

此代码对 2 个不同的列执行此操作,因为我对其进行了更改。

问题:

  • 如果我插入行,它将把今天的日期放在新插入的
    行,或者如果我删除行,比如说 3 行,它将添加日期或
    覆盖刚刚删除的 3 行下面的 3 行中的日期。这是
    不好。如果我在单元格中进行更改,我只想添加一个日期
    本身。当我们添加或更改状态(数据)时,只需自动添加日期
    在它左边的单元格中。
  • 我还需要前 9 行不受此自动日期的影响
    添加。
  • 最后,如果我双击 M 列第 20 行的单元格,但不要
    输入任何数据,然后单击单元格,它仍然会添加日期
    N 列第 20 行的单元格。

  • 我在以下位置找到了原始代码:
    Auto-fill the date in a cell, when the user enters information in an adjacent cell

    我的代码版本是:
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim A As Range, M As Range, X As Range, Inte As Range, r As Range
    Set A = Range("M:M,X:X")
    Set Inte = Intersect(A, Target)
    If Inte Is Nothing Then Exit Sub
    Application.EnableEvents = False
    For Each r In Inte
    r.Offset(0, 1).Value = Date
    Next r
    Application.EnableEvents = True
    End Sub

    最佳答案

    这些修改会处理您的前两个规范。

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("M:M,X:X"), Range("10:" & Rows.Count)) Is Nothing Then
    If Target.Count < Columns.Count Then
    On Error GoTo bm_Safe_Exit
    Application.EnableEvents = False
    Dim r As Range
    For Each r In Intersect(Target, Range("M:M,X:X"), Range("10:" & Rows.Count))
    With r.Offset(0, 1)
    .Value = Now 'use Now to retain the time as well as the date
    .NumberFormat = "dd-mmm-yyyy hh:mm:ss" 'change to what you prefer
    End With
    Next r
    End If
    End If
    bm_Safe_Exit:
    Application.EnableEvents = True
    End Sub

    至于第三个,我谦虚地建议您习惯使用首选方法点击 Esc 放弃“单元内”编辑,而不是 Enter↵ 或选择另一个单元格。使用 Esc 不会更改单元格中的值, Worksheet_Change未触发事件宏。使用 Enter 或选择另一个单元格确实会更改单元格中的值,并且在可以应用正确的键盘练习时,针对懒散的做法进行编码根本不值得开销。

    附录:

    如果手还在鼠标上,也可以点击 × 在编辑栏中按 [Esc] 进行单元格内编辑。

    in-cell-edit_escape

    关于excel - 当对相邻单元格进行更改时,自动填充单元格中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35025432/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com