Hi folks.
I've been up and down every post I cannot find way to solve the issue that I've been tasked to resolve.
Here is what I've got so far...
I have data in Column A that contains cells where STRING1 can be found.
The idea is to be able to search for every cell in Column A that contains STRING1 and insert new cell bellow with substituted value taken from Column C Titled STRING1.
In other words I have Column A where is the data and Column C where is the values for STRING1
The result is Column B where a new cell/row has been added for each substituted value from Column C. The result can be either created in separated row or the the new cells can be added within the already existing Column A by adding the cells or rows
Column A Column B Column C
This is what I have this is how the result should look line
My name is <STRING1> and I'm strong. My name is <STRING1> and I'm strong. <STRING1>
Some text My name is George and I'm strong. George
Some other text My name is Peter and I'm strong. Peter
Some other text My name is Thomas and I'm strong. Thomas
This is <STRING1> is tall Some text
Some other text Some other text
Some other text
This is <STRING1>, he is tall.
This is George, he is tall .
This is Peter, he is tall.
This is Thomas, he is tall.
Some other text
I'm not very good at VBA scripting but so far searching in the net I found a script where I can add new row which would copy the formula from the row above it - I'm not sure if this can be helpful at all Credit is to a person named Mark Hill <[email protected]>.
Sub InsertRowsAndFillFormulas_caller()
'-- this macro shows on Tools, Macro..., Macros (Alt+F8) dialog
Call InsertRowsAndFillFormulas
End Sub
Sub InsertRowsAndFillFormulas(Optional vRows As Long = 0)
' Documented: http://www.mvps.org/dmcritchie/excel/insrtrow.htm
' Re: Insert Rows -- 1997/09/24 Mark Hill <[email protected]>
' row selection based on active cell -- rev. 2000-09-02 David McRitchie
Dim x As Long
ActiveCell.EntireRow.Select 'So you do not have to preselect entire row
If vRows = 0 Then
vRows = Application.InputBox(prompt:= _
"How many rows do you want to add?", Title:="Add Rows", _
Default:=1, Type:=1) 'Default for 1 row, type 1 is number
If vRows = False Then Exit Sub
End If
'if you just want to add cells and not entire rows
'then delete ".EntireRow" in the following line
'rev. 2001-01-17 Gary L. Brown, programming, Grouped sheets
Dim sht As Worksheet, shts() As String, i As Long
ReDim shts(1 To Worksheets.Application.ActiveWorkbook. _
Windows(1).SelectedSheets.Count)
i = 0
For Each sht In _
Application.ActiveWorkbook.Windows(1).SelectedSheets
Sheets(sht.Name).Select
i = i + 1
shts(i) = sht.Name
x = Sheets(sht.Name).UsedRange.Rows.Count 'lastcell fixup
Selection.Resize(rowsize:=2).Rows(2).EntireRow. _
Resize(rowsize:=vRows).Insert Shift:=xlDown
Selection.AutoFill Selection.Resize( _
rowsize:=vRows + 1), xlFillDefault
On Error Resume Next 'to handle no constants in range -- John McKee 2000/02/01
' to remove the non-formulas -- 1998/03/11 Bill Manville
Selection.Offset(1).Resize(vRows).EntireRow. _
SpecialCells(xlConstants).ClearContents
Next sht
Worksheets(shts).Select
End Sub
Bookmarks