首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >就快到了!如何按整数隐藏行?

就快到了!如何按整数隐藏行?
EN

Stack Overflow用户
提问于 2018-08-15 03:28:25
回答 1查看 97关注 0票数 3

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

下面是我的示例代码:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2018-08-15 03:51:21

有了上面关于如何将vba与字符串连接在一起的语句,我们可以使用Select Case来缩短代码。

我们还可以删除循环,因为我们只需要知道target.row是否为两个值。

代码语言:javascript
复制
Private Sub Worksheet_Change(ByVal Target As Range)

    Dim i As Long
    If Target.Column = 9 Then
        If Target.Row = 2 Or Target.Row = 22 Then
            Rows(Target.Row + 4 & ":" & Target.Row + 12).Hidden = False
            Dim j As Long
            Select Case Target.Value
                Case ""
                    j = 4
                Case "1", 1
                    j = 7
                Case "2",2
                    j = 10
                Case Else
                    Exit Sub
            End Select
            Rows(Target.Row + j & ":" & Target.Row + 12).Hidden = True
        End If
    End If

End Sub
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51848541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档