ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Delete summary rows programmatically (https://www.excelbanter.com/excel-programming/418072-delete-summary-rows-programmatically.html)

Brian

Delete summary rows programmatically
 
Access developer here with what is probably an age-old question regarding
some Excel manipulation.

I get a spreadsheet periodically that has header information (consistently
13 lines), followed by good flat-file-type data (number of lines varies),
followed by total information (two lines). I need to strip out the header &
total rows so I can import the normalized data into Access.

I wrote an Auto_Open macro in another spreadsheet that opens this one,
removes the top 13 lines, Home, Ctrl-DownArrow to get to the last populated
row, select the row, up arrow once, deletes the two rows, then saves the file
as a CSV for import into my Access table for long-term storage & analysis.

The header removal is easy, because I just remove the first 13 lines. When I
record a macro using Ctrl-ArrowDown to get to the end and then delete the
last two lines, however, the macro stores the row numbers, but I need the row
numbers to be relative to the last populated row, not a specific number.

I know could just import them into Access and delete them there, but I would
prefer to strip them out in my macro or VBA first.

Brian

Delete summary rows programmatically
 
OK, here is what I have so far.

Workbooks.Open FileName:=MyFileName
Rows("1:14").Select
Selection.Delete Shift:=xlUp Selection.End(xlDown).Select
ActiveCell.EntireRow.Delete
Selection.End(xlUp).Select
ActiveCell.EntireRow.Delete

This does it, but I have just two small questions:

1. Would it be better to use a function to find the last row rather than
Selection.End(xlDown).Select?
2. How would I code the last four lines to select & delete both rows
togetherrather than deleting one row, moving up a row, and deleting the other
one?

"Brian" wrote:

Access developer here with what is probably an age-old question regarding
some Excel manipulation.

I get a spreadsheet periodically that has header information (consistently
13 lines), followed by good flat-file-type data (number of lines varies),
followed by total information (two lines). I need to strip out the header &
total rows so I can import the normalized data into Access.

I wrote an Auto_Open macro in another spreadsheet that opens this one,
removes the top 13 lines, Home, Ctrl-DownArrow to get to the last populated
row, select the row, up arrow once, deletes the two rows, then saves the file
as a CSV for import into my Access table for long-term storage & analysis.

The header removal is easy, because I just remove the first 13 lines. When I
record a macro using Ctrl-ArrowDown to get to the end and then delete the
last two lines, however, the macro stores the row numbers, but I need the row
numbers to be relative to the last populated row, not a specific number.

I know could just import them into Access and delete them there, but I would
prefer to strip them out in my macro or VBA first.


Mike Fogleman[_2_]

Delete summary rows programmatically
 
Try this routine:

Dim LRow As Long

Workbooks.Open Filename:=MyFileName
Rows("1:14").Delete
LRow = Cells(Rows.Count, 1).End(xlUp).Row
Range("A" & (LRow - 1) & ":A" & LRow).EntireRow.Delete

Mike F
"Brian" wrote in message
...
OK, here is what I have so far.

Workbooks.Open FileName:=MyFileName
Rows("1:14").Select
Selection.Delete Shift:=xlUp Selection.End(xlDown).Select
ActiveCell.EntireRow.Delete
Selection.End(xlUp).Select
ActiveCell.EntireRow.Delete

This does it, but I have just two small questions:

1. Would it be better to use a function to find the last row rather than
Selection.End(xlDown).Select?
2. How would I code the last four lines to select & delete both rows
togetherrather than deleting one row, moving up a row, and deleting the
other
one?

"Brian" wrote:

Access developer here with what is probably an age-old question regarding
some Excel manipulation.

I get a spreadsheet periodically that has header information
(consistently
13 lines), followed by good flat-file-type data (number of lines varies),
followed by total information (two lines). I need to strip out the header
&
total rows so I can import the normalized data into Access.

I wrote an Auto_Open macro in another spreadsheet that opens this one,
removes the top 13 lines, Home, Ctrl-DownArrow to get to the last
populated
row, select the row, up arrow once, deletes the two rows, then saves the
file
as a CSV for import into my Access table for long-term storage &
analysis.

The header removal is easy, because I just remove the first 13 lines.
When I
record a macro using Ctrl-ArrowDown to get to the end and then delete the
last two lines, however, the macro stores the row numbers, but I need the
row
numbers to be relative to the last populated row, not a specific number.

I know could just import them into Access and delete them there, but I
would
prefer to strip them out in my macro or VBA first.




Brian

Delete summary rows programmatically
 
Thank you.

I always like my code to be as lean as possible, and that is a definite
improvement.

"Mike Fogleman" wrote:

Try this routine:

Dim LRow As Long

Workbooks.Open Filename:=MyFileName
Rows("1:14").Delete
LRow = Cells(Rows.Count, 1).End(xlUp).Row
Range("A" & (LRow - 1) & ":A" & LRow).EntireRow.Delete

Mike F
"Brian" wrote in message
...
OK, here is what I have so far.

Workbooks.Open FileName:=MyFileName
Rows("1:14").Select
Selection.Delete Shift:=xlUp Selection.End(xlDown).Select
ActiveCell.EntireRow.Delete
Selection.End(xlUp).Select
ActiveCell.EntireRow.Delete

This does it, but I have just two small questions:

1. Would it be better to use a function to find the last row rather than
Selection.End(xlDown).Select?
2. How would I code the last four lines to select & delete both rows
togetherrather than deleting one row, moving up a row, and deleting the
other
one?

"Brian" wrote:

Access developer here with what is probably an age-old question regarding
some Excel manipulation.

I get a spreadsheet periodically that has header information
(consistently
13 lines), followed by good flat-file-type data (number of lines varies),
followed by total information (two lines). I need to strip out the header
&
total rows so I can import the normalized data into Access.

I wrote an Auto_Open macro in another spreadsheet that opens this one,
removes the top 13 lines, Home, Ctrl-DownArrow to get to the last
populated
row, select the row, up arrow once, deletes the two rows, then saves the
file
as a CSV for import into my Access table for long-term storage &
analysis.

The header removal is easy, because I just remove the first 13 lines.
When I
record a macro using Ctrl-ArrowDown to get to the end and then delete the
last two lines, however, the macro stores the row numbers, but I need the
row
numbers to be relative to the last populated row, not a specific number.

I know could just import them into Access and delete them there, but I
would
prefer to strip them out in my macro or VBA first.





Rolf[_4_]

Delete summary rows programmatically
 
Brian
Try this code:

Selection.End(xlDown).Select
Range(ActiveCell, Selection.Offset(-1, 0)).EntireRow.Delete

Rolf

"Brian" wrote in message
...
OK, here is what I have so far.

Workbooks.Open FileName:=MyFileName
Rows("1:14").Select
Selection.Delete Shift:=xlUp Selection.End(xlDown).Select
ActiveCell.EntireRow.Delete
Selection.End(xlUp).Select
ActiveCell.EntireRow.Delete

This does it, but I have just two small questions:

1. Would it be better to use a function to find the last row rather than
Selection.End(xlDown).Select?
2. How would I code the last four lines to select & delete both rows
togetherrather than deleting one row, moving up a row, and deleting the
other
one?

"Brian" wrote:

Access developer here with what is probably an age-old question regarding
some Excel manipulation.

I get a spreadsheet periodically that has header information
(consistently
13 lines), followed by good flat-file-type data (number of lines varies),
followed by total information (two lines). I need to strip out the header
&
total rows so I can import the normalized data into Access.

I wrote an Auto_Open macro in another spreadsheet that opens this one,
removes the top 13 lines, Home, Ctrl-DownArrow to get to the last
populated
row, select the row, up arrow once, deletes the two rows, then saves the
file
as a CSV for import into my Access table for long-term storage &
analysis.

The header removal is easy, because I just remove the first 13 lines.
When I
record a macro using Ctrl-ArrowDown to get to the end and then delete the
last two lines, however, the macro stores the row numbers, but I need the
row
numbers to be relative to the last populated row, not a specific number.

I know could just import them into Access and delete them there, but I
would
prefer to strip them out in my macro or VBA first.




All times are GMT +1. The time now is 05:09 PM.

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