有时,当Eileen将文本转换为表格时,或者如果她从另一个程序导入表格时,某些单元格中的第一个实际字符之前都有一个前导空格。她想知道是否有一种方法可以使用“查找和替换”仅在表格的单元格中删除这些前导空格。

实际上,有一种非常快捷的方法可以消除前导空格,而无需使用“查找和替换”。假设您要使单元格中的文本左对齐。请按照下列步骤操作:

。在表中选择要影响的单元格。

。显示功能区的“主页”选项卡。

。单击段落组中的居中文本工具。现在,所选单元格中的所有文本都居中。

。单击“段落”组中的“左对齐文本”工具。

而已;当您执行步骤3时,Word会自动删除前导空格。第4步只是将您的文本放回您原来希望对齐的位置。一个额外的好处是这些步骤实际上删除了文本开头的所有空白,而不仅仅是空格。

如果绝对要使用“查找和替换”来消除空格,则不能使用单个“查找和替换”操作来做到这一点。这是关于如何使用多次通过的想法:

。选择表格。

。按Ctrl + H。 Word将显示“查找和替换”对话框的“替换”选项卡。

。单击更多按钮(如果可用)。 (请参见图1。)

。清除“查找内容”框中的所有内容,但请确保插入点仍在框中。

。单击格式按钮,然后单击样式。 Word将显示“查找样式”对话框。 (请参见图2。)

。选择表中文本使用的样式。 (很有可能这将是“普通”样式。)

。在“替换为”框中,输入$#$ ^&。这指定您要使用唯一的字符集($#$)作为发现的内容(以您在步骤6中选择的样式设置格式的任何文本)的开头。

。单击全部替换。

。在“查找内容”框中,输入$#$ ^ w。这指定您要查找后跟任何空格的唯一字符。 (这包括您的前导空格。)

。单击无格式按钮。

。在“替换为”框中删除所有内容。

。单击全部替换。

。在“查找内容”框中,输入$#$。这指定您要查找任何剩余的唯一字符。

。单击全部替换。

如果需要,您也可以使用宏删除前导空格。宏需要做的就是遍历表中的所有单元格并删去任何前导空格:

Sub DeleteCellLeadingSpace()

Dim aCell As Cell     Dim aRow As Row     Dim cText As String

If Selection.Information(wdWithInTable) Then         For Each aRow In Selection.Tables(1).Rows             For Each aCell In aRow.Cells                 cText = aCell.Range.Text                 cText = LTrim(cText)

aCell.Range.Text = Left(cText, Len(cText) - 2)

Next aCell         Next aRow     Else         MsgBox "Insertion point must be in a table."

End If End Sub

请注意,当此宏将信息填充回单元格(来自cText变量)时,只会填充除最后两个字符以外的所有内容。如果不这样做,您将在表的每个单元格中获得额外的硬返回。

注意:

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

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

(Microsoft Word是世界上最流行的文字处理软件。)本技巧(1263)适用于Microsoft Word 2007、2010、2013和2016。