Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 用于隐藏行的If语句_Vba_Ms Word - Fatal编程技术网

Vba 用于隐藏行的If语句

Vba 用于隐藏行的If语句,vba,ms-word,Vba,Ms Word,所以我有一组需要隐藏的行。我想把它附加到一个按钮上,这样当它被使用时,它会根据它所处的状态来隐藏/取消隐藏它。我想知道我在代码中写错了什么,因为运行时文档中没有任何更改。这是我的密码: Private Sub BBG() Dim BBG As Range With ActiveDocument.Tables(1) Set BBG = .Rows(12).Range BBG.End = .Rows(33).Range.End End With

所以我有一组需要隐藏的行。我想把它附加到一个按钮上,这样当它被使用时,它会根据它所处的状态来隐藏/取消隐藏它。我想知道我在代码中写错了什么,因为运行时文档中没有任何更改。这是我的密码:

Private Sub BBG()

Dim BBG As Range

    With ActiveDocument.Tables(1)
        Set BBG = .Rows(12).Range
        BBG.End = .Rows(33).Range.End
    End With

    If BBG.Font.Hidden = False Then
        With BBG.Font
        .Hidden = True
        End With

    ElseIf BBG.Font.Hidden = True Then
        With BBG.Font
        .Hidden = False
        End With

    End If
End Sub

谢谢大家!

您不能为变量指定与Sub相同的名称。下面的代码对我来说非常有效

Private Sub SetBBG()

    Dim BBG As Range

    With ActiveDocument.Tables(1)
        Set BBG = .Rows(12).Range
        BBG.End = .Rows(33).Range.End
    End With

    With BBG.Font
        .Hidden = (.Hidden + 1) * -1
    End With
    Debug.Print BBG.Font.Hidden
End Sub

你不能给一个变量起与Sub相同的名字。下面的代码非常适合我

Private Sub SetBBG()

    Dim BBG As Range

    With ActiveDocument.Tables(1)
        Set BBG = .Rows(12).Range
        BBG.End = .Rows(33).Range.End
    End With

    With BBG.Font
        .Hidden = (.Hidden + 1) * -1
    End With
    Debug.Print BBG.Font.Hidden
End Sub

什么东西不起作用?您缺少使用BBG.Font执行
操作的“结束方式”块。除此之外,您还不清楚需要什么。最有可能的是
if
@BrandonBarney中缺少的
end with
,因此我修复了“end with”块。代码运行,但文档中没有任何更改。@litelite刚刚修复了该部分,因此代码运行,但没有任何更改。请尝试使用
Debug.Print ActiveDocument.Name
。VBA非常不鼓励使用
ActiveDocument
和其他各种形式的
Active
,特别是因为它容易出现错误。有什么特别不起作用?您缺少使用BBG.Font执行
操作的“结束方式”块。除此之外,您还不清楚需要什么。最有可能的是
if
@BrandonBarney中缺少的
end with
,因此我修复了“end with”块。代码运行,但文档中没有任何更改。@litelite刚刚修复了该部分,因此代码运行,但没有任何更改。请尝试使用
Debug.Print ActiveDocument.Name
。在VBA中,使用
ActiveDocument
和其他各种形式的
Active
是非常不受欢迎的,特别是因为它容易出现错误。