如何用格式化文本查找和replace单元格的一部分

在Excel 2007电子表格中,我想查找 – replace突出显示单元格中文本的一部分。 尽pipe使用查找replace重新格式化整个单元格。

例如,如果单元格包含:

Pellentesque vel massa sit amet magna eleifend placerat。 Pellentesque dictum,nibh vitae tincidunt placerat,elit libero tristique tellus,vel imperdiet nulla tortor id diam。 Mauris波特兰blandit vestibulum。

我想find“Pellentesque”,并用Pellentesque取而代之

这可以做到没有VBE或公式?

也许这会适合(确保在运行之前不要select超过必要的单元格,否则这可能需要一段时间):

Sub FormatSelection() Dim cl As Range Dim SearchText As String Dim StartPos As Integer Dim EndPos As Integer Dim TestPos As Integer Dim TotalLen As Integer On Error Resume Next Application.DisplayAlerts = False SearchText = Application.InputBox _ (Prompt:="Enter string.", Title:="Which string to format?", Type:=2) On Error GoTo 0 Application.DisplayAlerts = True If SearchText = "" Then Exit Sub Else For Each cl In Selection TotalLen = Len(SearchText) StartPos = InStr(cl, SearchText) TestPos = 0 Do While StartPos > TestPos With cl.Characters(StartPos, TotalLen).Font .FontStyle = "Bold" .ColorIndex = 3 End With EndPos = StartPos + TotalLen TestPos = TestPos + EndPos StartPos = InStr(TestPos, cl, SearchText, vbTextCompare) Loop Next cl End If End Sub 

应该增加红色和颜色。 如果macros重新运行,更改不会被覆盖。 如果不改变颜色,注释掉.ColorIndex = 3。

(基于@Skip Intro的SO15438731指针修正问题和SO10455366答案中的一些代码指针)

这对我来说很好:

  1. 在Excel中select的单元格(我一次select1266个 – 不知道是否有任何限制)

  2. 点击COPY

  3. 打开一个空白的文件,点击粘贴

  4. 使用CNTL + H来查找和replace

  5. input要查找的字符和要replace的字符,添加所需的所有格式,然后select“全部replace”(该过程花费less于2秒)

  6. 在Word文件中selectEdit-Select-Select All,然后按住shift键并按下左箭头(我认为不这样做会在下一个操作中添加一行)

  7. 返回到Excel中,并在备用区域中select“粘贴 – 保留源格式”选项

这正是我想要的Excel。 从那里我可以把它移到我想要的地方。

使用标准的查找和replaceCTRL + F命令来做到这一点绝对是最简单的方法,就是“临时”添加“Calibri字体”字符•aka。 “黑色子弹点”

像这样:•样品•

从插入标签 – >符号 – > Calibri字体 – >和在最后)

因此,你可以让眼睛更容易阅读许多行的Excel数据,

并且稍后也可以稍后再次将其移回到原始位置,只需再次find并replace即可。

希望这有助于某人,它确实帮助我的眼睛更快地扫描。


旧的回应

简单的非编程方式来做到这一点,是:

  1. 将文本粘贴到MS Word中

  2. 然后在那里运行查找和replace(CTRL + F)(自定义格式更改在“更多”>“下的左下angularbutton,然后”格式“到您需要定制) – 然后将完成所有更改。 。

  3. 然后,而不是做一个粘贴到Excel的Excel(通过主页选项卡 – >粘贴 – >select性粘贴 – >粘贴为HTML(所以保留格式)(这可以和太内存密集,太慢以上像1000行)

只需将Word中的“Save as”另存为RTF文件,然后通过简单的“打开文件”将该文件重新导入到Excel中即可。

Excel有一个相当不错的“重复模式细胞构build”识别,但当然,这种解决方法可能无法完美地再现所需的细胞分裂每一次,但它应该保持大部分时间细胞的顺序。

这么简单的方法,直到微软停止限制一个选项,以“突出显示/加粗”一个单元格中的发现结果文本,而不是总是加粗整个单元格。

问候马可

要使search项目案例不可知,您可以使用:

 Sub FormatSelection() Dim cl As Range Dim SearchText As String Dim StartPos As Integer Dim EndPos As Integer Dim TestPos As Integer Dim TotalLen As Integer On Error Resume Next Application.DisplayAlerts = False SearchText = Application.InputBox _ (Prompt:="Enter string.", Title:="Which string to format?", Type:=2) On Error GoTo 0 Application.DisplayAlerts = True If SearchText = "" Then Exit Sub Else For Each cl In Selection TotalLen = Len(SearchText) StartPos = InStr(Ucase(cl), Ucase(SearchText)) TestPos = 0 Do While StartPos > TestPos With cl.Characters(StartPos, TotalLen).Font .FontStyle = "Bold" .ColorIndex = 3 End With EndPos = StartPos + TotalLen TestPos = TestPos + EndPos StartPos = InStr(TestPos, cl, SearchText, vbTextCompare) Loop Next cl End If End Sub