View Single Post
  #1   Report Post  
Dave Peterson
 
Posts: n/a
Default

This worked ok for me:

Option Explicit
Sub testme()

Dim curWks As Worksheet
Dim newWks As Worksheet
Dim destCell As Range
Dim NumberOfRows As Long

Dim myRng As Range
Dim myCell As Range
Dim mySplit As Variant

Set curWks = Worksheets("sheet1")
Set newWks = Worksheets.Add

With curWks
Set myRng = .Range("a1", .Cells(.Rows.Count, "A").End(xlUp))
End With

Set destCell = newWks.Range("a1")

For Each myCell In myRng.Cells
mySplit = Split97(myCell.Value, ";")
'or if xl2k and higher
'mySplit = Split(myCell.Value, ";")
NumberOfRows = UBound(mySplit) - LBound(mySplit) + 1
destCell.Resize(NumberOfRows, 1).Value _
= Application.Transpose(mySplit)

Set destCell = destCell.Offset(NumberOfRows, 0)
Next myCell

End Sub
Function Split97(sStr As String, sdelim As String) As Variant
'from Tom Ogilvy
Split97 = Evaluate("{""" & _
Application.Substitute(sStr, sdelim, """,""") & """}")
End Function

Split was added in xl2k. If you're using xl97, use Tom's split97. If you and
your users are all at xl2k or higher, you can delete that function completely.


If you're new to macros, you may want to read David's intro at:
http://www.mvps.org/dmcritchie/excel/getstarted.htm


instauratio wrote:

I have one column that contains 1000 values. The problem is they do not
occupy one value per one cell with 1000 rows.

Some rows/cells have 10 to 15 values, each separated by a semi colon.

How can I sort or filter the entire column and separate each value into it's
own unique cell in one column?


--

Dave Peterson