![]() |
Find/replace macro
Hi guys,
I have two sheets I am dealing with right now: Data and Table. I am trying to create a macro to locate a cell content, say Data:A1, finding it in column B range in Table, and moving four cells to the right of it (adding the character "y" to it). I've tried to use autofilter and find that way as well, but that didn't seem to work either. Here is my script below. Where it says Criteria1:="=510", that should be the cell contents in Data:A1. Any help that can be offered will be greatly appreciated. Sub MyMacro() Range("C2").Select Selection.Copy Sheets("Table").Select Rows("2:2").Select Range(Selection, Selection.End(xlDown)).Select Application.CutCopyMode = False Selection.AutoFilter ActiveWindow.SmallScroll ToRight:=-1 Sheets("Data").Select Range("C2").Select Selection.Copy Sheets("Table").Select Selection.AutoFilter Field:=2, Criteria1:="=510", Operator:=xlAnd Range("F8").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "y" With ActiveCell.Characters(Start:=1, Length:=1).Font .Name = "Century Gothic" .FontStyle = "Regular" .Size = 9 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With Range("F88").Select Selection.AutoFilter Sheets("Data").Select Range("C2").Select End Sub |
Find/replace macro
How about just using Find?
Option Explicit Sub testme() Dim myWord As String Dim FirstAddress As String Dim FoundCell As Range myWord = Worksheets("data").Range("a1").Value With Worksheets("table").Range("b:b") Set FoundCell = .Cells.Find(What:=myWord, _ After:=.Cells(.Cells.Count), _ LookIn:=xlValues, _ LookAt:=xlWhole, SearchOrder:=xlByRows, _ SearchDirection:=xlNext, _ MatchCase:=False) If FoundCell Is Nothing Then 'do nothing--not found Else FirstAddress = FoundCell.Address Do With FoundCell.Offset(0, 4) .Value = "y" With .Font .Name = "Century Gothic" .FontStyle = "Regular" .Size = 9 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With End With Set FoundCell = .FindNext(FoundCell) Loop While Not FoundCell Is Nothing _ And FoundCell.Address < FirstAddress End If End With End Sub VB Newbie wrote: Hi guys, I have two sheets I am dealing with right now: Data and Table. I am trying to create a macro to locate a cell content, say Data:A1, finding it in column B range in Table, and moving four cells to the right of it (adding the character "y" to it). I've tried to use autofilter and find that way as well, but that didn't seem to work either. Here is my script below. Where it says Criteria1:="=510", that should be the cell contents in Data:A1. Any help that can be offered will be greatly appreciated. Sub MyMacro() Range("C2").Select Selection.Copy Sheets("Table").Select Rows("2:2").Select Range(Selection, Selection.End(xlDown)).Select Application.CutCopyMode = False Selection.AutoFilter ActiveWindow.SmallScroll ToRight:=-1 Sheets("Data").Select Range("C2").Select Selection.Copy Sheets("Table").Select Selection.AutoFilter Field:=2, Criteria1:="=510", Operator:=xlAnd Range("F8").Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "y" With ActiveCell.Characters(Start:=1, Length:=1).Font .Name = "Century Gothic" .FontStyle = "Regular" .Size = 9 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With Range("F88").Select Selection.AutoFilter Sheets("Data").Select Range("C2").Select End Sub -- Dave Peterson |
All times are GMT +1. The time now is 08:38 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com