当Liliana在文档中有一个表时,公司要求说明该表中的每个单元格都必须包含某些内容。这意味着,如果一个单元格为空,则它必须包含破折号或字母“ N / A”。莉莉安娜(Liliana)想知道是否有一种方法可以自动将破折号或“ N / A”放到表的空白单元格中。

唯一的方法就是使用宏。您可以创建一个逐步浏览表中每个单元格并检查其中包含的单元格。

如果该单元格为空,则将所需的文本放置在该单元格中。

这是在文档中所有表上工作的示例宏,它检查每个单元格:

Sub ProcCells1()

Dim tTable As Table     Dim cCell As Cell     Dim sTemp As String

sTemp = "N/A"



For Each tTable In ActiveDocument.Range.Tables         For Each cCell In tTable.Range.Cells             'An apparently empty cell contains an end of cell marker             If Len(cCell.Range.Text) < 3 Then                 cCell.Range = sTemp             End If         Next     Next     Set oCell = Nothing     Set tTable = Nothing End Sub

如果您决定要让空单元格包含一个破折号而不是“ N / A”,那么您要做的就是更改sTemp变量中的文本。如果您更喜欢使用单个表而不是文档中所有表的宏,则以下变体非常有用:

Sub ProcCells2()

Dim tTable As Table     Dim cCell As Cell     Dim sTemp As String

sTemp = "N/A"



If Selection.Information(wdWithInTable) Then         Set tTable = Selection.Tables(1)

For Each cCell In tTable.Range.Cells             'An apparently empty cell contains an end of cell marker             If Len(cCell.Range.Text) < 3 Then                 cCell.Range = sTemp             End If         Next     End If     Set oCell = Nothing     Set tTable = Nothing End Sub

为了使用此变体,只需在运行宏之前确保插入点在您要处理的表内即可。

如果您不想使用宏,则可以考虑采用另一种方法-只需在开始向其中添加信息之前,确保表中包含所需的破折号或“ N / A”文本。您可以创建一个表格模板,在每个单元格中包含一个破折号或“ N / A”,然后在将其他信息放入该单元格时,只需删除默认文本即可。 (_WordTips_的其他问题介绍了设置表模板的各种方法。)

注意:

如果您想知道如何使用此页面(或_WordTips_网站上的任何其他页面)中描述的宏,我准备了一个包含有用信息的特殊页面。

_WordTips_是您进行经济有效的Microsoft Word培训的来源。

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(10773)适用于Microsoft Word 2007、2010、2013和2016。您可以在此处找到适用于Word的较早菜单界面的本技巧的版本: