我有一个Word表,我想在其中隐藏或显示特定列中的文本。我已经写了一个宏链接到标题行中的复选框。勾选框应该隐藏光标所在行的列中的文本。当我测试VBA时,宏工作正常,但是当我使用勾选框运行它时,代码“认为”相关行是勾选框所在的标题行。
如何在宏中传递正确的行索引(即选中的行,文本光标位于勾选复选框之前)?
也许正确的问题是:如何区分文本中的光标位置(在Word表格中)和鼠标光标位置?
这是宏代码......
Private Sub CheckBox1_Click() 致电HideOrRevealAnswer 结束子
Sub HideOrRevealAnswer()
Dim iCellRange As Range
Dim iColStart, iColEnd As Integer
Dim iRow As Integer
iColStart = 4 'column for Answers
iColEnd = 5 'column for Explanation
With ActiveDocument
iRow = Selection.Cells(1).RowIndex
Set iCellRange = .Range(Start:=.Tables(1).Cell(iRow,iColStart).Range.Start, _
End:=.Tables(1).Cell(iRow, iColEnd).Range.End)
iCellRange.Select
End With
With iCellRange
Select Case .Font.Color
Case wdColorAutomatic
.Font.Color = wdColorWhite
Case wdColorWhite
.Font.Color = wdColorAutomatic
End Select
End With
End Sub