gpt4 book ai didi

variables - 在单元格更改时取消隐藏行

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

这是一个轻微的重复问题,但我相信它可以简化情况。

代码对象:当用户从单元格验证(即更改)中选择一个条目时,代码必须

  • 在H列输入用户名
  • 在I栏输入时间戳
  • 取消隐藏下一行
  • (意外的下一步,显示非用户交互的行)

  • 步骤 1 到 3 现在可以使用,步骤 4 不可用

    当前代码:
    Private Sub Worksheet_Change(ByVal Target As Range)

    Dim ChangedCell As Object


    For Each ChangedCell In Target
    If ChangedCell.Column = 5 And ChangedCell <> "" Then
    Cells(ChangedCell.Row, 8) = Environ("USERNAME")
    Cells(ChangedCell.Row, 9) = Format(Now(), "HH:MM:SS")
    ChangedCell.Offset(1, 0).EntireRow.Hidden = False
    If Cells(ChangedCell.Offset(1, 0), 1).Value <> "HC" Then
    ChangedCell.Offset(1, 0).EntireRow.Hidden = False
    End If
    End If
    Next
    End Sub

    抢。

    最佳答案

    尝试这个:

    ChangedCell.Offset(1, 0).EntireRow.Hidden = False

    注意:您的代码导致错误的可能原因: 显然你不能写入只读值。

    enter image description here

    附加问题的附加答案(步骤 4_“显示非用户交互的行”) :
    Option Explicit

    ''假设信息(非交互式)单元格被合并,这是 E 列的最后一行。
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ChangedCell As Object
    Dim last_Row, iter
    last_Row = Worksheets("Sheet2").Cells(Rows.count, 5).End(xlUp).Row ''change sheet name if different

    For Each ChangedCell In Target
    If ChangedCell.Column = 5 And ChangedCell <> "" Then

    For iter = 1 To last_Row
    ChangedCell.Offset(iter, 0).EntireRow.Hidden = False
    On Error GoTo errhand
    If ChangedCell.Offset(iter, 0).MergeArea.Address = ChangedCell.Offset(iter, 0).Address Then
    On Error GoTo 0
    Cells(ChangedCell.Row, 8) = Environ("USERNAME")
    Cells(ChangedCell.Row, 9) = Format(Now(), "HH:MM:SS")
    'MsgBox ChangedCell.Row
    Exit Sub
    End If
    errhand:
    'MsgBox "info row"
    Next
    End If
    Next
    End Sub

    关于variables - 在单元格更改时取消隐藏行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26284870/

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