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
是非常不受欢迎的,特别是因为它容易出现错误。