Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 66
Default Dynamic Range Selection 1,000 rows at a time

I have a list of over 127,000 transaction_id's in Excel. I'm looking for a
way to automate the selection of the first 1,000 items in the list, then the
next 1,000 and so on until it reaches the bottom.

Help?
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4,624
Default Dynamic Range Selection 1,000 rows at a time

One way:

Public Sub SelectLotsOfRows()
Const cnRowsToSelect As Long = 1000
Static nStart As Long
Static nMax As Long

With Sheets("Sheet1")
If ActiveSheet.Name = .Name Then
If nMax = 0 Then
nStart = 1
nMax = .Rows.Count - cnRowsToSelect
Else
nStart = nStart + cnRowsToSelect
If (nStart .UsedRange.SpecialCells(xlLastCell).Row) Or _
(nStart nMax) Then nStart = 1
End If
.Cells(nStart, 1).Resize(cnRowsToSelect).EntireRow.Select
End If
End With
End Sub

In article ,
Kirk P. wrote:

I have a list of over 127,000 transaction_id's in Excel. I'm looking for a
way to automate the selection of the first 1,000 items in the list, then the
next 1,000 and so on until it reaches the bottom.

Help?

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 66
Default Dynamic Range Selection 1,000 rows at a time

This does come very close. How would I modify this to find, for each 1,000
row block, the range of cells associated with the selected column in each
1,000 row block?

"JE McGimpsey" wrote:

One way:

Public Sub SelectLotsOfRows()
Const cnRowsToSelect As Long = 1000
Static nStart As Long
Static nMax As Long

With Sheets("Sheet1")
If ActiveSheet.Name = .Name Then
If nMax = 0 Then
nStart = 1
nMax = .Rows.Count - cnRowsToSelect
Else
nStart = nStart + cnRowsToSelect
If (nStart .UsedRange.SpecialCells(xlLastCell).Row) Or _
(nStart nMax) Then nStart = 1
End If
.Cells(nStart, 1).Resize(cnRowsToSelect).EntireRow.Select
End If
End With
End Sub

In article ,
Kirk P. wrote:

I have a list of over 127,000 transaction_id's in Excel. I'm looking for a
way to automate the selection of the first 1,000 items in the list, then the
next 1,000 and so on until it reaches the bottom.

Help?


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,501
Default Dynamic Range Selection 1,000 rows at a time

Hi,

Right click your sheet tab, view code and paste this in and run it

Sub sonic()
lastrow = Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To lastrow Step 1000
Rows(i & ":" & WorksheetFunction.Min(i + 999, lastrow)).Select

'Do Something

Next
End Sub

Mike


"Kirk P." wrote:

I have a list of over 127,000 transaction_id's in Excel. I'm looking for a
way to automate the selection of the first 1,000 items in the list, then the
next 1,000 and so on until it reaches the bottom.

Help?

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 66
Default Dynamic Range Selection 1,000 rows at a time

It appears to loop through all 128,000 rows, but in your 'Do Something'
portion of your code, how do I get it to stop at the first 1,000 rows, allow
me to copy the selected range, then move to the next 1,000 rows, allow me to
copy the selected range, etc, etc.

"Mike H" wrote:

Hi,

Right click your sheet tab, view code and paste this in and run it

Sub sonic()
lastrow = Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To lastrow Step 1000
Rows(i & ":" & WorksheetFunction.Min(i + 999, lastrow)).Select

'Do Something

Next
End Sub

Mike


"Kirk P." wrote:

I have a list of over 127,000 transaction_id's in Excel. I'm looking for a
way to automate the selection of the first 1,000 items in the list, then the
next 1,000 and so on until it reaches the bottom.

Help?



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 236
Default Dynamic Range Selection 1,000 rows at a time

Hi Kirk,

You can handle this with mutliple queries to your database.

The syntax is database dependent.

In oracle you'd have

select * from mytable where rownum 1000 and rownum < 1000;

If you're using DB2 let me know - I'll get the exact syntax.
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
Dynamic Range Selection Using VBA TEK Excel Discussion (Misc queries) 2 January 23rd 10 04:55 AM
Dynamic selection of a range Sören_Marodören Excel Programming 2 December 5th 07 01:28 PM
dynamic range selection JohnDK[_10_] Excel Programming 3 November 17th 05 03:26 AM
Dynamic range selection Fernando Ronci Excel Programming 1 August 4th 04 10:37 PM
Dynamic Range Selection Todd Huttenstine Excel Programming 4 May 5th 04 08:54 PM


All times are GMT +1. The time now is 09:02 AM.

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

About Us

"It's about Microsoft Excel"