在空表单元格中放置文本(Microsoft Word)
当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的较早菜单界面的本技巧的版本: