View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson Dave Peterson is offline
external usenet poster
 
Posts: 35,218
Default replace in multiple sheets

Range("A1:A2000")
will refer to the active sheet (if the code is in a general module).

So try:

For Each cell In wks.Range("A1:A2000")

But you may want to record a macro when you do Edit|Replace.

Then loop through all the sheets using that code.

sa02000 wrote:

Hi, I am trying to find a specific text in a worksheet and then put a
certaint text in cells next to where first text is found. And I want to
do it in all worksheets in the file I have. Here is the code that I came
up with but this only works on the active worksheet that I am in... I
think it should work on all worksheets in the file. Does anyone know
why it would do that...

Sub macro2

Dim wks As Worksheet
Dim txtlookup As String
Dim txtchange As String

txtlookup = InputBox("Enter Text to Lookup:", "Enter Text")
txtchange = InputBox("Enter Text to change to:", "Enter Text")
For Each wks In ThisWorkbook.Sheets
For Each cell In Range("A1:A2000")
If cell.Value = txtlookup Then
cell.Offset(0, 1).Value = txtchange
End If
Next cell
Next wks
End Sub

Thanks, Jay

--
sa02000
------------------------------------------------------------------------
sa02000's Profile: http://www.excelforum.com/member.php...o&userid=27747
View this thread: http://www.excelforum.com/showthread...hreadid=568789


--

Dave Peterson