11-7-19
这应该很简单,但即便如此,我还是遇到了麻烦:我想在一列中每次出现时都找到一小段文本,然后用任何内容替换它,同时保留该列中每个单元格中已被更改的文本,否则保持不变。
它运行得很好。问题是,如何将此操作限制在仅一列,而相邻列中包含文本片段的单元格保持不变?每次我尝试应用“查找和替换”时,它都会消除工作表中出现该片段的所有文本片段。我尝试过只选择一列中的单元格,但操作似乎仍然扩展到整个电子表格。我试图剪掉我想限制操作的列,计划将其作为单个列粘贴到新的工作表中,希望在那里使用“查找和替换”,不会干扰其他列,并希望剪掉更改后的列并粘贴回原始电子表格中,不会干扰其他列。没有用——从来没有那么远——我无法将列粘贴到新的工作表中并在那里处理它。
任何帮助都将不胜感激。提前致谢。
答案1
一个简单的解决方案是将该列与所有其他列分开 - 突出显示要使用查找和替换功能的列,并将单元格格式化为填充颜色。然后,转到使用查找和替换功能,单击“替换”,然后单击“选项”。输入您要搜索的文本,然后在其右侧,使用“格式”选项选择您刚刚选择的列的颜色。然后,这将在整个工作表中搜索您要查找的文本,但仅选择与您要搜索的单元格格式相匹配的文本(彩色单元格)。输入您想要替换的内容,然后像往常一样使用查找和替换。完成后,只需将单元格格式化为无填充颜色即可。
答案2
我知道这个回复对原帖者来说太晚了,但它可以帮助其他人。我发现了一种简单的方法。
1-选择列的名称。 选择了此照片中的 H 列
2-转到主页->查找和选择->替换。
3-在“查找内容”和“替换为”中填写您想要的内容。 例子
4-单击“查找全部”。
5-在“查找和替换”窗口的下部,它将显示包含该列所有出现的表。它应该如何出现
6-单击该表的一行并按 Ctrl + A,它将选择整个表。选定整个表格
7-单击“全部替换”。结果,您可以看到标题为 Medu 的列中有一个单元格,其中包含我想要替换的内容,但它没有受到影响,因为我只选择了标题为 Fedu 的 H 列
答案3
不幸的是,MS Office 中的“查找/替换”功能并不那么智能。您有两个选择:
1) 您可以按照您之前的建议进行操作。复制/粘贴到新工作簿并在那里执行操作。您报告说无法粘贴,但这绝对是可能的,而且这是完成您想要的操作的一种非常有效的方法。
2) 您可以使用 VBA 以编程方式执行所需的操作。以下是完成此操作的入门代码:
Private Sub ReplaceRow()
Dim Row As Integer, Col As Integer
Row = 1: Col = 1 'Change "Col" to equal the column you wish to search. Change "Row" to 2 to exclude header row.
Dim LastRow As Integer
LastRow = Cells(Rows.Count, 1).End(xlUp).Row
Dim ws As Worksheet
Set ws = Me
Dim rng As Range, cell As Range
Set rng = Range(ws.Cells(Row, Col), ws.Cells(LastRow, Col))
Dim strFind As String, strReplace As String
strFind = InputBox("Enter String to Find.")
strReplace = InputBox("Enter replacement string.")
For Each cell In rng.Cells
If strFind = cell Then cell.Value = strReplace
Next cell
End Sub 'ReplaceRow
答案4
我需要将标有“出生时性别”的列中的 M 或 F 更改为数字。我突出显示了该列并对其进行了格式化。我打开了“查找和选择”对话框。根据此处之前的指导,我打开了“格式”下拉菜单并选择了“从单元格中选择格式”,但我不确定这是否有必要。但是,有一个选项可以选择按列搜索和“匹配整个单元格内容”以及“匹配大小写”,这解决了我的问题。