Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default Automatically Sorting of Excel Records

Greetings!

I am working in a good IT company under the quality management team. May I
ask how can I automatically sort an array of records using macros based on
categories and heirarchy of scores? Then generate a separate sheet for it as
well?

Here is a simple example of a record array found in sheet1 named as "DATA":

A B C
PARTICIPANT CATEGORY POINTS
1 Malaysia W 87,000
2 Indonesia X 12,000
3 Singapore Y 98,000
4 Thailand Z 15,000
5 Hong-Kong Y 58,000
6 Japan W 108,000
7 Russia X 33,000
8 China Z 72,000

I simply need to automatically generate two more sheets: Sheet 2 as
"GroupsWX" which will contain all entries having categories 'W' and 'X' and
Sheet 3 as "GroupsYZ" which will contain all entries having categories 'Y'
and 'Z'.

These two computer-generated sheets will display Columns A and C in
descending order; without having the need to separate 'W' from 'X' or 'Y'
from 'Z'.

Thank you very much and God Bless to you, your family, and your company =)\

Regards, Mr. IT
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 140
Default Automatically Sorting of Excel Records

Hello Mr IT

This should do what you want, in terms of splitting the data into two
sheets. The sort assumes you start putting data in Range A1 and the
data is presented in a structured manner.

Take care

Marcus


Sub CopytoSheet()
Dim RngCell As Range
Dim MyList() As Variant
Dim res As Variant
Dim lw As Long
Dim X As Range
Dim ws As Worksheet

lw = Range("B" & Rows.Count).End(xlUp).Row
MyList() = Array("W", "X")

Set X = Range("B2:B" & lw)
For Each RngCell In X
res = Application.Match(RngCell.Value, MyList, 0)
If IsError(res) Then
RngCell.EntireRow.Copy Sheets("Sheet3"). _
Range("A65536").End(xlUp).Offset(1, 0)
Else
RngCell.EntireRow.Copy Sheets("Sheet2"). _
Range("A65536").End(xlUp).Offset(1, 0)
End If
Next RngCell

'Sort the ranges
For Each ws In ThisWorkbook.Worksheets
If ws.Name = "Sheet2" Or ws.Name = "Sheet3" Then

With ws.Range("A1").CurrentRegion
.Sort Key1:=.Cells(2, "A"), Order1:=xlDescending,
Header:=xlYes
End With

End If
Next

End Sub


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
Excel - Sorting for Duplicate Records jen Excel Worksheet Functions 1 October 7th 08 06:59 PM
Sorting records with a macro Trever B Excel Programming 0 May 15th 06 04:27 AM
In Excel, sorting columns automatically by clicking column title Destiny Excel Discussion (Misc queries) 1 June 23rd 05 06:39 PM
automatically delete records w/duplicate address in excel PUSH Excel Discussion (Misc queries) 1 May 24th 05 12:48 PM
Sorting Records reese Excel Discussion (Misc queries) 2 April 7th 05 11:02 PM


All times are GMT +1. The time now is 06:42 PM.

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"