Excel VBA查找并replace

我有这个代码,它工作正常。 现在我需要改变它,我不知道怎么做。

在整个wordksheet中的代码searsh。 我只需要在1列中search

代码search整个单元格。 我需要search左侧或中间或右侧的单元格。

Sub ChgInfo() Dim WS As Worksheet Dim Search As String Dim Replacement As String Dim Prompt As String Dim Title As String Dim MatchCase As Boolean Prompt = "What is the original value you want to replace?" Title = "Search Value Input" Search = InputBox(Prompt, Title) Prompt = "What is the replacement value?" Title = "Search Value Input" Replacement = InputBox(Prompt, Title) For Each WS In Worksheets WS.Cells.Replace What:=Search, Replacement:=Replacement, _ LookAt:=xlPart, MatchCase:=False Next End Sub 

这是你在找什么?

下面的代码将在每个表的A列中查找值。

 Sub ChgInfo() Dim WS As Worksheet Dim Search As String Dim Replacement As String Dim Prompt As String Dim Title As String Dim MatchCase As Boolean Prompt = "What is the original value you want to replace?" Title = "Search Value Input" Search = InputBox(Prompt, Title) Prompt = "What is the replacement value?" Title = "Search Value Input" Replacement = InputBox(Prompt, Title) For Each WS In Worksheets WS.Columns(1).Replace What:=Search, Replacement:=Replacement, LookAt:=xlPart, MatchCase:=False Next End Sub 

更新的答案

 Sub ChgInfo() Dim WS As Worksheet Dim Search As String Dim Replacement As String Dim Prompt As String Dim Title As String Dim MatchCase As Boolean Dim cell As Range Dim rngFind As Range Dim firstCell As String Prompt = "What is the original value you want to replace?" Title = "Search Value Input" Search = Trim(InputBox(Prompt, Title)) Prompt = "What is the replacement value?" Title = "Search Value Input" Replacement = Trim(InputBox(Prompt, Title)) For Each WS In Worksheets Set rngFind = WS.Columns(1).Find(What:=Search, LookIn:=xlValues, lookat:=xlPart) If Not rngFind Is Nothing Then firstCell = rngFind.Address Do While Not rngFind Is Nothing rngFind = Replacement & Mid(rngFind, 5, Len(rngFind)) Set rngFind = WS.Columns(1).FindNext(After:=rngFind) If firstCell = rngFind.Address Then Exit Do Loop Next End Sub 

我用这个取代某个地方的东西。这很简单,但对我很好

  Sub test() Dim x As String, y As String y = InputBox("Replace what?") x = InputBox("Replace to?") [m12:m20,I2,O7,P5,P6].Replace what:=y, replacement:=x End Sub