Sorting a String stored in a cell of Excel

.

Dear Readers,

By using Excel Macro, we can sort a String which is stored in a Cell in an Excel Sheet. Sorting will be done as a String. For example (Ascending): First all Numeric Values in ascending Order then Special Chars then Alphabets in ascending etc.

Sorting

Sorting


For this we need to copy and Paste below Sub Function in the Module of your Excel VBA. Now call this function from which ever sheet you want.


Sub Sorting()

Dim str_array(1000), temp, input_str As String
Dim flag As Boolean
flag = False

input_str = Range("A1").Value
l = Len(input_str)

'--- Store complete string in an array format letter by letter

For i = 1 To l
temp = Left(input_str, i)
str_array(i) = Right(temp, 1)
Next

'--- We need to Sort all the letters in ascending or Descending Order
'--- For that i will add a Sheet in workbook and copy all the letters in one column and sort it by Excel Sort functionality

For Each Sheet In Sheets
If Sheet.Name = "config" Then
flag = True
End If
Next Sheet
If flag = False Then
Worksheets.Add().Name = "config"
End If

'--- Select that config Sheet

Worksheets("config").Activate

For i = 1 To l
srange = "A" & i
Range(srange).Value = str_array(i)
Next

'--- Now Sort that Column with all values

srange = "A1:" & srange
Range(srange).Select
ActiveWorkbook.Worksheets("config").sort.SortFields.Clear
ActiveWorkbook.Worksheets("config").sort.SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("config").sort
.SetRange Range(srange)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

'--- After sorting now Store back all the letters in the array variable

For i = 1 To l
srange = "A" & i
str_array(i) = Range(srange).Value
Next
Worksheets("Sheet2").Activate
input_str = ""
For i = 1 To l
input_str = input_str & str_array(i)
Next

'--- Put the sorted String in your cell where you want

Range("A2").Value = input_str

'--- Delete that config file now

Application.DisplayAlerts = False
Worksheets("config").Delete
Application.DisplayAlerts = True

End Sub


Buy a coffee for the author

Adsense

Download FREE Tools and Templates

There are many cool and useful excel tools and templates available to download for free. For most of the tools, you get the entire VBA code base too which you can look into it, play around it, and customize according to your need.

Dynamic Arrays and Spill Functions in Excel: A Beginner’s Guide
Dynamic Arrays and Spill Functions in Excel: A Beginner’s Guide

In today's tutorial, we'll be diving into the exciting world of dynamic arrays and spill functions in Office 365 Excel. These features have revolutionized the way we work with data, providing a more flexible and efficient way to handle arrays. I am going to explain...

How to Declare a Public Variable in VBA
How to Declare a Public Variable in VBA

While programming in VBA sometimes you need to declare a Public Variable that can store the value throughout the program. Use of Public Variable: Let's say you have 4 different Functions in your VBA Code or Module and you have a variable that may or may not be...

How to Copy content from Word using VBA

As many of us want to deal with Microsoft Word Document from Excel Macro/VBA. I am going to write few articles about Word from Excel Macro. This is the first article which opens a Word Document and read the whole content of that Word Document and put it in the Active...

What is Excel Formula?

Excel Formula is one of the best feature in Microsoft Excel, which makes Excel a very very rich application. There are so many useful built-in formulas available in Excel, which makes our work easier in Excel. For all the automated work, Excel Macro is not required. There are so many automated things can be done by using simple formulas in Excel. Formulas are simple text (With a Syntax) which is entered in to the Excel Worksheet Cells. So how computer will recognize whether it is a formula or simple text? Answer is simple.. every formula in Excel starts with Equal Sign (=).

You May Also Like…

2 Comments

  1. Паро Гѣров

    Where is the picture?

    Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Join and get a FREE! e-Book

Don't miss any articles, tools, tips and tricks, I publish here

You have Successfully Subscribed!

Pin It on Pinterest