Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
PVT PVT is offline
external usenet poster
 
Posts: 19
Default achieving sequential numbering

Hello,

I am looking for a macro or other solution which can loop through my
worksheet. The worksheet looks as follows:

Branch 1
240230 x $22
240239 y $25
240240 z $26
Totals
Branch 2
240230 x $30
240231 a $58
240232 b $22
240241 c $18
Totals
Branch 3
240229 d $20
240231 a $22
240232 b $23
240240 z $22
Totals

I would like it to compare the value of the number in column A with
that of the number above/below it. If there is a difference of more
than 1, I would like it to insert a row with that number, so that
eventually all the numbers are sequential. The inserted row should
only have the number, no other values in that row.

There should be a minimum (240229) and a maximum (240241) found for
all values in column A of sheet 1 and everything in between there for
each branch should be filled in.

For example:

Branch 1
240229
240230 x $22
240231
240232
240233
240234
240235
240236
240237
240238
240239 y $25
240240 z $26
240241
Totals
Branch 2
240229
240230 x $30
240231 a $58
240232 b $22
240233
240234
240235
240236
240237
240238
240239
240240
240241 c $18
Totals
Branch 3
240229 d $20
240230
240231 a $22
240232 b $23
240233
240234
240235
240236
240237
240238
240239
240240 z $22
240241
Totals

I tried this a different way before, but now I would like to approach
it slightly differently:

At the start of the macro, I would an inputbox to appear which asks me
for the min and max values (for example, min=240229 and max=240241).
Then, for as long as there are values, I would like it to loop through
and insert rows in between until everything is sequential between the
min and max values. Even if the last number in the sequence is 240240,
I still need it to insert 240241.

The most efficient way to achieve this seems to be by using the offset
function, to step (max-min) +2 rows down and start over again, instead
of looking for the branch number.

Unfortunately- whatever I try doesn't work. Any help would be greatly
appreciated!
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 8,520
Default achieving sequential numbering

Please try this.///If you are new to macros set the Security level to
low/medium in (Tools|Macro|Security). 'Launch VBE using short-key Alt+F11.
Insert a module and paste the below code. Save. Get back to Workbook.
Tools|Macro|Run Macro()

Sub Macro()

Dim lngRow
Dim lngTemp

lngRow = 1
Do While Range("A" & lngRow) < ""
If Range("A" & lngRow) Like ["######"] Then
If Range("A" & lngRow) < lngTemp Then
Rows(lngRow).Insert
Range("A" & lngRow) = lngTemp
End If
lngTemp = lngTemp + 1
Else
lngTemp = 240229
End If
lngRow = lngRow + 1
Loop

End Sub

--
If this post helps click Yes
---------------
Jacob Skaria


"PVT" wrote:

Hello,

I am looking for a macro or other solution which can loop through my
worksheet. The worksheet looks as follows:

Branch 1
240230 x $22
240239 y $25
240240 z $26
Totals
Branch 2
240230 x $30
240231 a $58
240232 b $22
240241 c $18
Totals
Branch 3
240229 d $20
240231 a $22
240232 b $23
240240 z $22
Totals

I would like it to compare the value of the number in column A with
that of the number above/below it. If there is a difference of more
than 1, I would like it to insert a row with that number, so that
eventually all the numbers are sequential. The inserted row should
only have the number, no other values in that row.

There should be a minimum (240229) and a maximum (240241) found for
all values in column A of sheet 1 and everything in between there for
each branch should be filled in.

For example:

Branch 1
240229
240230 x $22
240231
240232
240233
240234
240235
240236
240237
240238
240239 y $25
240240 z $26
240241
Totals
Branch 2
240229
240230 x $30
240231 a $58
240232 b $22
240233
240234
240235
240236
240237
240238
240239
240240
240241 c $18
Totals
Branch 3
240229 d $20
240230
240231 a $22
240232 b $23
240233
240234
240235
240236
240237
240238
240239
240240 z $22
240241
Totals

I tried this a different way before, but now I would like to approach
it slightly differently:

At the start of the macro, I would an inputbox to appear which asks me
for the min and max values (for example, min=240229 and max=240241).
Then, for as long as there are values, I would like it to loop through
and insert rows in between until everything is sequential between the
min and max values. Even if the last number in the sequence is 240240,
I still need it to insert 240241.

The most efficient way to achieve this seems to be by using the offset
function, to step (max-min) +2 rows down and start over again, instead
of looking for the branch number.

Unfortunately- whatever I try doesn't work. Any help would be greatly
appreciated!

  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 8,520
Default achieving sequential numbering

A small correction..

Sub Macro()

Dim lngRow
Dim lngTemp

lngRow = 1
Do While Range("A" & lngRow) < ""
If Range("A" & lngRow) Like ["######"] Then
If Range("A" & lngRow) < lngTemp Then
Rows(lngRow).Insert
Range("A" & lngRow) = lngTemp
End If
lngTemp = lngTemp + 1
Else
If lngTemp 240229 And lngTemp < 240242 Then
Rows(lngRow).Insert
Range("A" & lngRow) = lngTemp
lngTemp = lngTemp + 1
End If
lngTemp = 240229
End If
lngRow = lngRow + 1
Loop

End Sub


If this post helps click Yes
---------------
Jacob Skaria


"PVT" wrote:

Hello,

I am looking for a macro or other solution which can loop through my
worksheet. The worksheet looks as follows:

Branch 1
240230 x $22
240239 y $25
240240 z $26
Totals
Branch 2
240230 x $30
240231 a $58
240232 b $22
240241 c $18
Totals
Branch 3
240229 d $20
240231 a $22
240232 b $23
240240 z $22
Totals

I would like it to compare the value of the number in column A with
that of the number above/below it. If there is a difference of more
than 1, I would like it to insert a row with that number, so that
eventually all the numbers are sequential. The inserted row should
only have the number, no other values in that row.

There should be a minimum (240229) and a maximum (240241) found for
all values in column A of sheet 1 and everything in between there for
each branch should be filled in.

For example:

Branch 1
240229
240230 x $22
240231
240232
240233
240234
240235
240236
240237
240238
240239 y $25
240240 z $26
240241
Totals
Branch 2
240229
240230 x $30
240231 a $58
240232 b $22
240233
240234
240235
240236
240237
240238
240239
240240
240241 c $18
Totals
Branch 3
240229 d $20
240230
240231 a $22
240232 b $23
240233
240234
240235
240236
240237
240238
240239
240240 z $22
240241
Totals

I tried this a different way before, but now I would like to approach
it slightly differently:

At the start of the macro, I would an inputbox to appear which asks me
for the min and max values (for example, min=240229 and max=240241).
Then, for as long as there are values, I would like it to loop through
and insert rows in between until everything is sequential between the
min and max values. Even if the last number in the sequence is 240240,
I still need it to insert 240241.

The most efficient way to achieve this seems to be by using the offset
function, to step (max-min) +2 rows down and start over again, instead
of looking for the branch number.

Unfortunately- whatever I try doesn't work. Any help would be greatly
appreciated!

  #4   Report Post  
Posted to microsoft.public.excel.programming
PVT PVT is offline
external usenet poster
 
Posts: 19
Default achieving sequential numbering

That is awesome! It works like a charm!!!

How could I modify it if there would be an empty row in between 240241
(max) and the 240229 (the next min), to skip that empty row and go on?
  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 8,520
Default achieving sequential numbering

Yesterday it was a bit late....Please find the below modified code to handle
blank entries. You can change the while condition if you have more than 1
blanks inbetween.

If this post helps click Yes
---------------
Jacob Skaria

Dim lngRow
Dim lngTemp
Dim lngBlank

lngRow = 1
Do
If Range("A" & lngRow) Like ["######"] Then
If Range("A" & lngRow) < lngTemp Then
Rows(lngRow).Insert
Range("A" & lngRow) = lngTemp
End If
lngTemp = lngTemp + 1
lngBlank = 0
ElseIf Trim(Range("A" & lngRow)) < "" Then
If lngTemp 240229 And lngTemp < 240242 Then
Rows(lngRow).Insert
Range("A" & lngRow) = lngTemp
lngTemp = lngTemp + 1
End If
lngTemp = 240229
lngBlank = 0
Else
lngBlank = lngBlank + 1
End If
lngRow = lngRow + 1
Loop While lngBlank < 2


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
Sequential Numbering EricBB Excel Discussion (Misc queries) 2 August 24th 09 06:11 PM
sequential numbering Connie Excel Discussion (Misc queries) 2 June 20th 08 09:50 PM
PO with sequential numbering with start / end numbering [email protected] Excel Discussion (Misc queries) 1 April 24th 07 03:38 PM
sequential numbering super[_2_] Excel Programming 3 June 29th 05 03:39 PM


All times are GMT +1. The time now is 07:49 AM.

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"