[英]Replace the Cell Value throughout the Entire Workbook
我在整个工作簿中使用FndRplce()
将fnd = "Ilya Malikzada"
替换为rplc = "Arham"
的代码。
但是如何创建这样的代码:当我从下面的附图中更改任何名称时,该效果应该适用于整个工作簿。
例如, "Ilya Malikzada"
A2
有这个名字,所以当我在单元格A2
Arham
上写字时,整个工作簿上的"Ilya Malikzada"
应该替换为Arham
。
您的帮助将不胜感激。 谢谢
Sub FndRplce()
Dim sht As Worksheet
Dim fnd As Variant
Dim rplc As Variant
Dim ReplaceCount As Long
fnd = "Ilya Malikzada"
rplc = "Arham"
For Each sht In ActiveWorkbook.Worksheets
ReplaceCount = ReplaceCount + Application.WorksheetFunction.CountIf(sht.Cells, "*" & fnd & "*")
sht.Cells.Replace what:=fnd, Replacement:=rplc, _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
Next sht
End Sub
如果您希望名称输入成为变量,您可以专门引用单元格来执行此操作。 让它显而易见,以便用户知道这是输入。 我使用 Cell A1
,但您可以相应地调整它和工作表名称。 这个参考可以是一个以 excel 命名的参考,只要你把它放在引号内
我所做的调整是对你的rplc
线像这样
ActiveWorkbook.Sheets("YourSheetName").Range("A1").Value
Sub FndRplce()
Dim sht As Worksheet
Dim fnd As Variant
Dim rplc As Variant
Dim ReplaceCount As Long
fnd = "Ilya Malikzada"
rplc = ActiveWorkbook.Sheets("YourSheetName").Range("A1").Value
For Each sht In ActiveWorkbook.Worksheets
ReplaceCount = ReplaceCount + Application.WorksheetFunction.CountIf(sht.Cells, "*" & fnd & "*")
sht.Cells.Replace what:=fnd, Replacement:=rplc, _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, _
SearchFormat:=False, ReplaceFormat:=False
Next sht
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.