作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在这个基于单元格输入的简单示例中,我试图通过整数计数来隐藏 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)
(即转换文字 Integer
值 4
到 Long
)。
关于vba - 差不多好了!如何按整数隐藏行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51848541/
我正在尝试实现 Overhand Shuffle在 Clojure 中作为一个学习练习 所以我得到了这段代码... (defn overhand [cards] (let [ card_cou
我是一名优秀的程序员,十分优秀!