gpt4 book ai didi

excel - 根据单元格值隐藏Excel中的行

转载 作者:行者123 更新时间:2023-12-04 07:34:29 26 4
gpt4 key购买 nike

我有一个多项选择,选项按钮,根据选择将单元格 D7 的值从 1 更改为 5。如果值为 1,我想取消隐藏第 16 到 26 行,如果不同则隐藏它们,对于其他每个值,我都想隐藏它们。
但我什至无法让它工作,而且我不确定我做错了什么。
更新:如果我更改单元格值,则不会发生任何事情,但是如果我删除所有内容并添加它给出的值:“参数不是可选的”,它会为我突出显示这部分代码:

Private Sub Worksheet_Change(ByVal Target as Excel.Range)
谢谢
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If IsNumeric(Target) And Target.Address = "$D$7" Then
Select Case Target.Value
Case 0 To 90: Cell_Hider
End Select
End If
End Sub

Sub Cell_Hider(ByVal Target As Range)
If Range("$D$7").Value = "1" Then
Rows("16:26").EntireRow.Hidden = False
Else
Rows("16:26").EntireRow.Hidden = True
End If

End Sub

最佳答案

  • 您的程序Cell_Hider需要一个参数,但您的代码在没有参数的情况下调用它 Case 0 To 90: Cell_Hider
  • 您调用Cell_Hider如果该值介于 0 和 90 之间,则该过程需要该值为 1显示行,0 或 2 到 90 将隐藏它们。如果您将 100 放入该单元格,则根本不会发生任何事情。听起来不像你对我的期望。
  • "1"是文字不是数字!

  • 像下面这样的东西会起作用:
    Option Explicit

    Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If IsNumeric(Target) And Target.Address = "$D$7" Then
    Select Case Target.Value
    Case 0 To 90: Cell_Hider Target
    End Select
    End If
    End Sub

    Sub Cell_Hider(ByVal Target As Range)
    If Target.Value = 1 Then
    Target.Parent.Rows("16:26").EntireRow.Hidden = False
    Else
    Target.Parent.Rows("16:26").EntireRow.Hidden = True
    End If
    End Sub
    即使这对我来说看起来不合逻辑,我也不确定你到底想要达到什么目的。
    请注意,您可以将其缩短为
    Sub Cell_Hider(ByVal Target As Range)
    Target.Parent.Rows("16:26").EntireRow.Hidden = Not Target.Value = 1
    End Sub

    关于excel - 根据单元格值隐藏Excel中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67801749/

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