Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default help me on rearrange cells based on its numerical values without repeating any number


rearrange cells based on its numerical values without repeating

--------------------------------------------------------------------------------

with this sub

Sub doit()
Range("M1").CurrentRegion.ClearContents
Range("A1").Resize(10, 2).Copy Destination:=Range("M1")
Range("M1").CurrentRegion.Sort Key1:=Range("M1"), Order1:=xlAscending
End Sub


it works
but i dont want to repeat the numbers
i mean
if i input
1 microsoft
2 intel
1 microsoft
the results will be
1
1
2


i dont want that
i want only
1
2
no repeating
how can i do that?
noting that the input my be so long may be 1000 rows
but they are only 50 companies (from 1 to 50)
so the results will be in a max 50 rows

and i want that code to activate(rerun) each time i enter the sheet2

how can i do that ??


--
amrezzat
------------------------------------------------------------------------
amrezzat's Profile: http://www.excelforum.com/member.php...o&userid=28766
View this thread: http://www.excelforum.com/showthread...hreadid=487039

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 698
Default help me on rearrange cells based on its numerical values without repeating any number

This is some code I found at a Chip Pearson site dealing with duplicates. I
modified it to suit another purpose which is similar to what you are doing.

It sorts the data in column A to make sure all the 1's 2's etc are together
and then removes all but one and then sorts again to remove the blanks.

Perhaps try on some test data and of course change the cell address to suit
your data.

Sub FixDuplicateRows()
Dim RowNdx As Long
Dim ColNum As Integer
Dim LastRow As Long
Dim DataRng As Range
Dim i As Integer

LastRow = Cells(Rows.Count, "A").End(xlUp).Row
Set DataRng = Range("A2:A" & LastRow)
DataRng.Select

Application.ScreenUpdating = False

Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal

' This is Chip's original code with this tiny mod
' Cells(RowNdx, ColNum).Value = "----"
ColNum = Selection(1).Column
For RowNdx = Selection(Selection.Cells.Count).Row To _
Selection(1).Row + 1 Step -1
If Cells(RowNdx, ColNum).Value = Cells(RowNdx - 1, ColNum).Value Then
Cells(RowNdx, ColNum).Value = ""
End If
Next RowNdx
' End of Chip's code

Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal


Range("A2").Select
Application.ScreenUpdating = True
End Sub

HTH
Regards,
Howard

"amrezzat" wrote in
message ...

rearrange cells based on its numerical values without repeating

--------------------------------------------------------------------------------

with this sub

Sub doit()
Range("M1").CurrentRegion.ClearContents
Range("A1").Resize(10, 2).Copy Destination:=Range("M1")
Range("M1").CurrentRegion.Sort Key1:=Range("M1"), Order1:=xlAscending
End Sub


it works
but i dont want to repeat the numbers
i mean
if i input
1 microsoft
2 intel
1 microsoft
the results will be
1
1
2


i dont want that
i want only
1
2
no repeating
how can i do that?
noting that the input my be so long may be 1000 rows
but they are only 50 companies (from 1 to 50)
so the results will be in a max 50 rows

and i want that code to activate(rerun) each time i enter the sheet2

how can i do that ??


--
amrezzat
------------------------------------------------------------------------
amrezzat's Profile:
http://www.excelforum.com/member.php...o&userid=28766
View this thread: http://www.excelforum.com/showthread...hreadid=487039



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1
Default help me on rearrange cells based on its numerical values without repeating any number


it works on an empty sheet
but on my original sheet
an error message "application-defined or object-defined error"
and all values in and formuals in the sheet are erased

and whn i come back to vba editor another message appears
"sort method of class failed"

how can i solve that problem?
attachement a picture of my sheet


+-------------------------------------------------------------------+
|Filename: Image1.jpg |
|Download: http://www.excelforum.com/attachment.php?postid=4054 |
+-------------------------------------------------------------------+

--
amrezzat
------------------------------------------------------------------------
amrezzat's Profile: http://www.excelforum.com/member.php...o&userid=28766
View this thread: http://www.excelforum.com/showthread...hreadid=487039

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 698
Default help me on rearrange cells based on its numerical values without repeating any number

I am not able to access the picture of the worksheet for some reason. Can't
say why it works on a new worksheet and not on your original.

Regards,
Howard

"amrezzat" wrote in
message ...

rearrange cells based on its numerical values without repeating

--------------------------------------------------------------------------------

with this sub

Sub doit()
Range("M1").CurrentRegion.ClearContents
Range("A1").Resize(10, 2).Copy Destination:=Range("M1")
Range("M1").CurrentRegion.Sort Key1:=Range("M1"), Order1:=xlAscending
End Sub


it works
but i dont want to repeat the numbers
i mean
if i input
1 microsoft
2 intel
1 microsoft
the results will be
1
1
2


i dont want that
i want only
1
2
no repeating
how can i do that?
noting that the input my be so long may be 1000 rows
but they are only 50 companies (from 1 to 50)
so the results will be in a max 50 rows

and i want that code to activate(rerun) each time i enter the sheet2

how can i do that ??


--
amrezzat
------------------------------------------------------------------------
amrezzat's Profile:
http://www.excelforum.com/member.php...o&userid=28766
View this thread: http://www.excelforum.com/showthread...hreadid=487039



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
Changing numerical values based upper and lower range jrmcosmo Excel Discussion (Misc queries) 4 September 22nd 09 04:58 PM
How to produce a chart based on number of cells not values in thecells Bobby[_2_] Charts and Charting in Excel 2 August 8th 08 02:52 PM
Adding numerical values based on multiple values in another column Kazmaniac Excel Worksheet Functions 6 April 4th 07 08:53 PM
help me on rearrange cells based on its numerical values without repeating any number amrezzat Excel Worksheet Functions 0 November 21st 05 11:01 PM
Return Range of Numerical Values in Single Column based on Frequency Percentage Sam via OfficeKB.com Excel Worksheet Functions 9 October 28th 05 11:01 PM


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