Good afternoon!
I know there are several posts already about this subject, but I can't seem
to make any of the previous answers work.
I am trying to insert a row after a given number defined by quot;INSERTPTquot; then
copy data into the new row. (Column A has a list of record numbers...INSERTPT
is a user defined record number)
With the following code, the data gets pasted wherever the last selection
was made in that worksheet. (Most of the time, the previously run macro will
have the user defined record number highlighted, so this macro pastes right
over it, rather than adding a row and pasting under it.)
Thanks for any help!
Sheets(quot;Update TEMPquot;).Select
Range(quot;A3quot;).Select
INSERTPT = ActiveCell.Value
Sheets(quot;Update TEMPquot;).Select
Rows(quot;8:8quot;).Select
Range(quot;I8quot;).Activate
Selection.Copy
Sheets(quot;Incom Inspect Report (IIR)quot;).Select
Dim iLastRow As Long
Dim i As Long
iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = iLastRow To 1 Step 1
If Cells(i, 1).Value = INSERTPT Then
Rows(i 1).EntireRow.InsertEnd If
Next iSelection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Your code has this line that assigns a value to INSERTPT:
INSERTPT = ActiveCell.Value
.... and later, an IF statement that compares a cell value to INSERTPT:
If Cells(i, 1).Value = INSERTPT Then
Is it possible the value in Cells(i, 1).Value never equals INSERTPT?
The other thing I notice is this line
For i = iLastRow To 1 Step 1
In order to get this structure to run, I had to change it to this:
For i = iLastRow To 1 Step -1
Is that a similar problem for you?Thank you so much..... I did have INSERTPT looking at the wrong cell...should
have been A2.....
(I put the one spot back to a -1...that was just me trying to mess with
things to get it to work before.)
But....
It is now adding a row directly beneath and filling it with what looks like
a paste (but not as values) leaving formulas and pasting as values over the
original record number.
Any ideas?????
quot;Dave Oquot; wrote:
gt; Your code has this line that assigns a value to INSERTPT:
gt; INSERTPT = ActiveCell.Value
gt; .... and later, an IF statement that compares a cell value to INSERTPT:
gt; If Cells(i, 1).Value = INSERTPT Then
gt;
gt; Is it possible the value in Cells(i, 1).Value never equals INSERTPT?
gt;
gt; The other thing I notice is this line
gt; For i = iLastRow To 1 Step 1
gt; In order to get this structure to run, I had to change it to this:
gt; For i = iLastRow To 1 Step -1
gt; Is that a similar problem for you?
gt;
gt;
gt;gt;gt;It is now adding a row directly beneath and filling it with what looks like
a paste (but not as values) leaving formulas and pasting as values
over the
original record number.
lt;lt;lt;
I'm not sure I follow this: but I notice your code has the paste
special instruction OUTSIDE the quot;if you find the right value then
insert a linequot; structure. Try this instead:
For i = iLastRow To 1 Step 1
If Cells(i, 1).Value = INSERTPT Then
Rows(i 1).EntireRow.Insert
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
End If
Next i
- Oct 18 Sat 2008 20:46
macro to add a row
close
全站熱搜
留言列表
發表留言