ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Allowing for variable lines in macros (https://www.excelbanter.com/excel-programming/362548-allowing-variable-lines-macros.html)

smurrock

Allowing for variable lines in macros
 
I am trying to set up a macro to run for a data file that will not have a
consistent number of lines each month. This seems like it should be simple,
however I am struggling. I tried using relative references but either I
didn't set it up right or it won't work. I also tried using offset which
also failed. This seems pretty basic??

Thanks!!
Sidonia

Don Guillett

Allowing for variable lines in macros
 
You didn't post your code so see if this idea helps to find the last row in
col A

lastrow=cells(rows.count,"a").end(xlup).row

--
Don Guillett
SalesAid Software

"smurrock" wrote in message
...
I am trying to set up a macro to run for a data file that will not have a
consistent number of lines each month. This seems like it should be
simple,
however I am struggling. I tried using relative references but either I
didn't set it up right or it won't work. I also tried using offset which
also failed. This seems pretty basic??

Thanks!!
Sidonia




Tom Ogilvy

Allowing for variable lines in macros
 
Basic approach:

Dim rng as Range, cell as Range
With ActiveWorkbook.worksheets(1)
set rng = .range(.cells(1,1),.cells(rows.count,1).End(xlup))
End With

for each cell in rng


Next

--
Regards,
Tom Ogilvy


"smurrock" wrote:

I am trying to set up a macro to run for a data file that will not have a
consistent number of lines each month. This seems like it should be simple,
however I am struggling. I tried using relative references but either I
didn't set it up right or it won't work. I also tried using offset which
also failed. This seems pretty basic??

Thanks!!
Sidonia


Gary''s Student

Allowing for variable lines in macros
 
Try using ActiveSheet.UsedRange. It should reflect the rows in your current
data:

Set r = ActiveSheet.UsedRange

nLastRow = r.Rows.Count + r.Row - 1
MsgBox ("last row " & nLastRow)

nLastColumn = r.Columns.Count + r.Column - 1
MsgBox ("last column " & nLastColumn)

nFirstRow = r.Row
MsgBox ("first row " & nFirstRow)

nFirstColumn = r.Column
MsgBox ("first column " & nFirstColumn)

numrow = r.Rows.Count
MsgBox ("number of rows " & numrow)

numcol = r.Columns.Count
MsgBox ("number of columns " & numcol)


etc.
--
Gary''s Student


"smurrock" wrote:

I am trying to set up a macro to run for a data file that will not have a
consistent number of lines each month. This seems like it should be simple,
however I am struggling. I tried using relative references but either I
didn't set it up right or it won't work. I also tried using offset which
also failed. This seems pretty basic??

Thanks!!
Sidonia



All times are GMT +1. The time now is 12:39 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com