Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default convert long list into shorter list

have a three column range holding the following data: Col1 employee name,
Col2 a date the name was entered into the table, Col3 the employee's
assignment
As the employee's assignment changes, the table is updated by adding their
name to the end of the range in Col1, entering the date the assignment
became effective in Col2, and the new assignment in Col3. When (if) any new
assignments are entered, the entire range is sorted by Col1 (employee name)
in ascending order. Thus, from day to day, the range will grow longer as new
or duplicate names are entered. I have to keep the entire range for
historical tracking, but I need an additional table that holds only the most
recent or current assignments.

The following "long" list should produce a resulting "short" list: Columns
separated with semicolon for clarity here.

LongList
Doe, John; 1/1/07; Line 1
Doe, John; 2/5/07; Line 3
Doe, John; 3/2/07; Line 4
Doe, Terry; 1/1/07; Line 2
Jun, Mary; 1/1/07; Line 4
Jun, Mary; 1/23/07; Line 7
Jun, Mary; 2/17/07; Line 3

ShortList
Doe, John; 3/2/07; Line 4
Doe, Terry; 1/1/07; Line 2
Jun, Mary; 2/17/07; Line 3

I'm thinking about looping (or moving) down the LongList row by row looking
at each entry in Col1 comparing to the next to determine the final entry of
the matches. Using that value, begin populating the new table. However, as I
begin writing the looping, I don't know if I should use Next For, For each
Next, or something else.


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 145
Default convert long list into shorter list

If you have 5 staff with 1000 entries, looping is wasteful of resources.
Would you consider Find previous method from bottom up (Since the list has
been sorted)?

Cheers!

--
Regards
PY & Associates (GMT+8)
"gifer" wrote in message
...
have a three column range holding the following data: Col1 employee name,
Col2 a date the name was entered into the table, Col3 the employee's
assignment
As the employee's assignment changes, the table is updated by adding their
name to the end of the range in Col1, entering the date the assignment
became effective in Col2, and the new assignment in Col3. When (if) any

new
assignments are entered, the entire range is sorted by Col1 (employee

name)
in ascending order. Thus, from day to day, the range will grow longer as

new
or duplicate names are entered. I have to keep the entire range for
historical tracking, but I need an additional table that holds only the

most
recent or current assignments.

The following "long" list should produce a resulting "short" list: Columns
separated with semicolon for clarity here.

LongList
Doe, John; 1/1/07; Line 1
Doe, John; 2/5/07; Line 3
Doe, John; 3/2/07; Line 4
Doe, Terry; 1/1/07; Line 2
Jun, Mary; 1/1/07; Line 4
Jun, Mary; 1/23/07; Line 7
Jun, Mary; 2/17/07; Line 3

ShortList
Doe, John; 3/2/07; Line 4
Doe, Terry; 1/1/07; Line 2
Jun, Mary; 2/17/07; Line 3

I'm thinking about looping (or moving) down the LongList row by row

looking
at each entry in Col1 comparing to the next to determine the final entry

of
the matches. Using that value, begin populating the new table. However, as

I
begin writing the looping, I don't know if I should use Next For, For each
Next, or something else.




  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default convert long list into shorter list

Sure. I forgot to mention, I don't know the various macro functions,
commands, etc., very well. So, no doubt, something rather simple probably
will work. I will kick this around a bit. Thanks!
"PY & Associates" wrote in message
...
If you have 5 staff with 1000 entries, looping is wasteful of resources.
Would you consider Find previous method from bottom up (Since the list has
been sorted)?

Cheers!

--
Regards
PY & Associates (GMT+8)
"gifer" wrote in message
...
have a three column range holding the following data: Col1 employee name,
Col2 a date the name was entered into the table, Col3 the employee's
assignment
As the employee's assignment changes, the table is updated by adding
their
name to the end of the range in Col1, entering the date the assignment
became effective in Col2, and the new assignment in Col3. When (if) any

new
assignments are entered, the entire range is sorted by Col1 (employee

name)
in ascending order. Thus, from day to day, the range will grow longer as

new
or duplicate names are entered. I have to keep the entire range for
historical tracking, but I need an additional table that holds only the

most
recent or current assignments.

The following "long" list should produce a resulting "short" list:
Columns
separated with semicolon for clarity here.

LongList
Doe, John; 1/1/07; Line 1
Doe, John; 2/5/07; Line 3
Doe, John; 3/2/07; Line 4
Doe, Terry; 1/1/07; Line 2
Jun, Mary; 1/1/07; Line 4
Jun, Mary; 1/23/07; Line 7
Jun, Mary; 2/17/07; Line 3

ShortList
Doe, John; 3/2/07; Line 4
Doe, Terry; 1/1/07; Line 2
Jun, Mary; 2/17/07; Line 3

I'm thinking about looping (or moving) down the LongList row by row

looking
at each entry in Col1 comparing to the next to determine the final entry

of
the matches. Using that value, begin populating the new table. However,
as

I
begin writing the looping, I don't know if I should use Next For, For
each
Next, or something else.






  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 857
Default convert long list into shorter list

gifer,

Copy the data to a new sheet, then use this macro

Sub test()
Dim lRow As Long
lRow = 1
While Range("A" & lRow).Text < ""
While Range("A" & lRow).Text = Range("A" & lRow + 1).Text
Range("A" & lRow).EntireRow.Delete
Wend
lRow = lRow + 1
Wend
End Sub



"gifer" wrote:

have a three column range holding the following data: Col1 employee name,
Col2 a date the name was entered into the table, Col3 the employee's
assignment
As the employee's assignment changes, the table is updated by adding their
name to the end of the range in Col1, entering the date the assignment
became effective in Col2, and the new assignment in Col3. When (if) any new
assignments are entered, the entire range is sorted by Col1 (employee name)
in ascending order. Thus, from day to day, the range will grow longer as new
or duplicate names are entered. I have to keep the entire range for
historical tracking, but I need an additional table that holds only the most
recent or current assignments.

The following "long" list should produce a resulting "short" list: Columns
separated with semicolon for clarity here.

LongList
Doe, John; 1/1/07; Line 1
Doe, John; 2/5/07; Line 3
Doe, John; 3/2/07; Line 4
Doe, Terry; 1/1/07; Line 2
Jun, Mary; 1/1/07; Line 4
Jun, Mary; 1/23/07; Line 7
Jun, Mary; 2/17/07; Line 3

ShortList
Doe, John; 3/2/07; Line 4
Doe, Terry; 1/1/07; Line 2
Jun, Mary; 2/17/07; Line 3

I'm thinking about looping (or moving) down the LongList row by row looking
at each entry in Col1 comparing to the next to determine the final entry of
the matches. Using that value, begin populating the new table. However, as I
begin writing the looping, I don't know if I should use Next For, For each
Next, or something else.



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default convert long list into shorter list

Thank you it works perfect!
"Vergel Adriano" wrote in message
...
gifer,

Copy the data to a new sheet, then use this macro

Sub test()
Dim lRow As Long
lRow = 1
While Range("A" & lRow).Text < ""
While Range("A" & lRow).Text = Range("A" & lRow + 1).Text
Range("A" & lRow).EntireRow.Delete
Wend
lRow = lRow + 1
Wend
End Sub



"gifer" wrote:

have a three column range holding the following data: Col1 employee name,
Col2 a date the name was entered into the table, Col3 the employee's
assignment
As the employee's assignment changes, the table is updated by adding
their
name to the end of the range in Col1, entering the date the assignment
became effective in Col2, and the new assignment in Col3. When (if) any
new
assignments are entered, the entire range is sorted by Col1 (employee
name)
in ascending order. Thus, from day to day, the range will grow longer as
new
or duplicate names are entered. I have to keep the entire range for
historical tracking, but I need an additional table that holds only the
most
recent or current assignments.

The following "long" list should produce a resulting "short" list:
Columns
separated with semicolon for clarity here.

LongList
Doe, John; 1/1/07; Line 1
Doe, John; 2/5/07; Line 3
Doe, John; 3/2/07; Line 4
Doe, Terry; 1/1/07; Line 2
Jun, Mary; 1/1/07; Line 4
Jun, Mary; 1/23/07; Line 7
Jun, Mary; 2/17/07; Line 3

ShortList
Doe, John; 3/2/07; Line 4
Doe, Terry; 1/1/07; Line 2
Jun, Mary; 2/17/07; Line 3

I'm thinking about looping (or moving) down the LongList row by row
looking
at each entry in Col1 comparing to the next to determine the final entry
of
the matches. Using that value, begin populating the new table. However,
as I
begin writing the looping, I don't know if I should use Next For, For
each
Next, or something else.





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
How to convert vertical blocked list to horizontal list? G Lykos Excel Worksheet Functions 8 May 17th 23 07:45 PM
Create a shorter list of dates edeaston[_2_] Excel Discussion (Misc queries) 11 February 27th 09 07:20 AM
Summarised list from long list Sunnyskies Excel Discussion (Misc queries) 3 June 5th 07 12:55 PM
Formula too long - Shorter version? Blade2304 Excel Worksheet Functions 3 April 14th 06 02:27 PM
Setting up a random list from long list of names ? yorkshire exile Excel Discussion (Misc queries) 4 January 6th 05 01:44 PM


All times are GMT +1. The time now is 12:55 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"