#1   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 1
Default MACRO's

I work with imported data that varies in size. In order to prepare the data
for analysis I take the same repetitive steps. I know using a macro would
make it simpler. I have a question regarding the macro as I record it. I
always copy a vlookup formula down a column to the last row containing data.
If when recording I stop at line 300 is that where the macro will stop every
time I run it? The amount of data I work with changes in size every week.
If the current data source has lets say 400 lines will the macro stop at 300,
which is where it stopped when I recorded it? If so how can I ensure it goes
all the way to the last line?

In this same scenario, once the vlookup is done I copy that same column and
past special values. I then sort by that column in order to isolate the
#N/A. I then apply a different vlookup to all the rows after the first #N/A.
How does the macro know to start at a different row then when it was
recorded. Since the data will change after sorting the first #N/A will most
likely start in a different row.

Not sure if all this makes, maybe I need to consult with a excel wiz but I
would like to solve this without asking for help from my peers. Thanks
  #3   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 35,218
Default MACRO's

Can you pick out a column that always has data in it when that row is used?

If yes, then you can use that to determine how far down to fill your =vlookup()
formulas.

dim LastRow as long
With activesheet
lastrow = .cells(.rows.count,"A").end(xlup).row
'use the formula you want here, but write it so it refers to the
'the top cell of the range (I used E1, so my formula used A1).
.range("E1:E" & lastrow).formula = "=vlookup(a1,sheet2!a:b,2,false)"
End with

Then you can sort your data by whatever column you want and look for the #N/A.

Dim FirstNACell As Range

with activesheet
Set FirstNACell = Nothing
On Error Resume Next
Set FirstNACell _
= .Range("e1").EntireColumn.Cells _
.SpecialCells(xlCellTypeFormulas, xlErrors).Cells(1)
On Error GoTo 0

If FirstNACell Is Nothing Then
'no errors found
Else
.Range("e" & FirstNACell.Row & ":e" & lastrow).Formula = "=whatever"
end if
end with

Sometimes, it's much easier to write the formula in R1C1 reference style. Then
you can use:

..formular1c1 = "=vlookup(rc1,sheet2!c1:c2,2,false)"

rc1 means same row as the formula, but in column 1.

And C1:c2 in R1C1 reference style means column1 to column 2 (A:B).

====
Untested, uncompiled. Watch for typos.

arangoa79 wrote:

I work with imported data that varies in size. In order to prepare the data
for analysis I take the same repetitive steps. I know using a macro would
make it simpler. I have a question regarding the macro as I record it. I
always copy a vlookup formula down a column to the last row containing data.
If when recording I stop at line 300 is that where the macro will stop every
time I run it? The amount of data I work with changes in size every week.
If the current data source has lets say 400 lines will the macro stop at 300,
which is where it stopped when I recorded it? If so how can I ensure it goes
all the way to the last line?

In this same scenario, once the vlookup is done I copy that same column and
past special values. I then sort by that column in order to isolate the
#N/A. I then apply a different vlookup to all the rows after the first #N/A.
How does the macro know to start at a different row then when it was
recorded. Since the data will change after sorting the first #N/A will most
likely start in a different row.

Not sure if all this makes, maybe I need to consult with a excel wiz but I
would like to solve this without asking for help from my peers. Thanks


--

Dave Peterson
  #4   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 22,906
Default MACRO's

Adjust column to suit.

Will fill down from C1 to last row in column C

Sub Auto_Fill()
Dim Lrow As Long
With ActiveSheet
Lrow = .Range("C" & Rows.Count).End(xlUp).Row
.Range("C1:C" & Lrow).FillDown
End With
End Sub

Not sure what or why you are sorting for #N/A and why you are changing the
VLOOKUP formula at that point.



Gord Dibben MS Excel MVP

On Tue, 19 May 2009 09:00:02 -0700, arangoa79
wrote:

I work with imported data that varies in size. In order to prepare the data
for analysis I take the same repetitive steps. I know using a macro would
make it simpler. I have a question regarding the macro as I record it. I
always copy a vlookup formula down a column to the last row containing data.
If when recording I stop at line 300 is that where the macro will stop every
time I run it? The amount of data I work with changes in size every week.
If the current data source has lets say 400 lines will the macro stop at 300,
which is where it stopped when I recorded it? If so how can I ensure it goes
all the way to the last line?

In this same scenario, once the vlookup is done I copy that same column and
past special values. I then sort by that column in order to isolate the
#N/A. I then apply a different vlookup to all the rows after the first #N/A.
How does the macro know to start at a different row then when it was
recorded. Since the data will change after sorting the first #N/A will most
likely start in a different row.

Not sure if all this makes, maybe I need to consult with a excel wiz but I
would like to solve this without asking for help from my peers. Thanks


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Macro's are fun Chris Excel Worksheet Functions 0 February 7th 08 06:09 AM
Hide Macro's in Toolbar / Macro's list sparx Excel Discussion (Misc queries) 2 May 6th 06 08:53 PM
Macro's CraigM Excel Worksheet Functions 2 January 17th 06 01:06 PM
Macro's Ron Excel Discussion (Misc queries) 1 December 27th 05 03:41 PM
macro's ELVIS ARON PRESLEY Excel Worksheet Functions 1 November 10th 04 06:42 PM


All times are GMT +1. The time now is 08:10 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"