gpt4 book ai didi

vba - 差不多好了!如何按整数隐藏行?

转载 作者:行者123 更新时间:2023-12-04 20:40:57 24 4
gpt4 key购买 nike

在这个基于单元格输入的简单示例中,我试图通过整数计数来隐藏 Excel 中的行。我似乎无法为 Application.Rows("x:x")Select 命令设置正确的语法。

这是我的示例代码:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim i As Integer
Dim k As Integer

For k = 0 To 1

i = 2 + k * 20

If Target.Column = 9 And Target.Row = i And Target.Value = "" Then
Application.Rows("[i+4]:[i+12]").Select
Application.Selection.EntireRow.Hidden = True
Else
Application.Rows("[i+4]:[i+12]").Select
Application.Selection.EntireRow.Hidden = False
End If

If Target.Column = 9 And Target.Row = i And Target.Value = "1" Then
Application.Rows("[i+7]:[i+12]").Select
Application.Selection.EntireRow.Hidden = True
End If

If Target.Column = 9 And Target.Row = i And Target.Value = "2" Then
Application.Rows("[i+10]:[i+12]").Select
Application.Selection.EntireRow.Hidden = True
End If

If Target.Column = 9 And Target.Row = i And Target.Value = "3" Then
Application.Rows("[i+4]:[i+12]").Select
Application.Selection.EntireRow.Hidden = False
End If

Next k

End Sub

最佳答案

i 对 Excel 计算引擎没有任何意义:它只存在于 VBA 运行时上下文中。

因此,您需要通过使用 字符串连接运算符 & 将 i 的值与字符串文字连接来构建字符串:

ActiveSheet.Rows(i + 4 & ":" & i + 12).EntireRow.Hidden = True

注意显式 ActiveSheet 引用的使用,并且不需要 .Select 任何东西 - 99% 的时间,您永远不需要处理 Selection .

还要注意,文字 4& 运算符之间的空格非常重要。这将是一个语法错误:

ActiveSheet.Rows(i + 4& ":" & i + 12).EntireRow.Hidden = True

因为 & 标记也恰好是一个 类型提示 说明符 - 一个晦涩的符号,几乎只为向后兼容而存在,您需要避免- 但很高兴知道 4& 本质上意味着 CLng(4) (即转换文字 Integer4Long)。

关于vba - 差不多好了!如何按整数隐藏行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51848541/

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