【问题标题】:Replace the Cell Value throughout the Entire Workbook替换整个工作簿中的单元格值
【发布时间】:2021-08-31 06:01:07
【问题描述】:

我在整个工作簿中使用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

【问题讨论】:

    标签: excel vba replace find


    【解决方案1】:

    如果您希望名称输入成为变量,您可以专门引用单元格来执行此操作。让它显而易见,以便用户知道这是输入。我使用 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
    

    【讨论】:

    • 这不是我要找的。​​span>
    • 你能澄清你的问题吗?它给人的印象是您想要一个单元格,您可以在其中放置 rplc 值以覆盖其他值。
    • 当然,我希望如果我将Tomasz Dania 单元格A21 更改为Leopards,那么整个工作簿上的任何Tomasz Dania 都应替换为Leopards。对于A2:37范围内可用的任何单元格的相同过程@
    • 这似乎是我已经回答的问题,这只是重新映射单元格引用以适合您的特定工作表的问题。也许我误解了,你是说 A2:A37 中的所有值都应该覆盖Tomasz Dania 的每个实例吗?那将如何处理多个输入?
    • 是的,它可以处理多个输出,我设法在这里编写代码,您可以看到。 Link
    猜你喜欢
    • 2019-04-21
    • 1970-01-01
    • 1970-01-01
    • 2021-01-07
    • 1970-01-01
    • 2016-08-11
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多