निम्नलिखित मैक्रो काम करता है कि बाहर। आप पहले तालिका को अनलिस्ट करें, फिर चयनित श्रेणी को क्रमबद्ध करें, और फिर सूची बनाएँ फिर से बनाएँ। आवश्यकतानुसार विवरण को ठीक करने के लिए आपको उप को अनुकूलित करना चाहिए।
Sub part_sort()
Dim rng_sel As Range, rng_all As Range
Dim lo_table As ListObject, lo_name As String
Dim ws As Worksheet
Set ws = ActiveSheet
Set rng_sel = Selection
Set lo_table = rng_sel.ListObject
lo_name = lo_table.Name
Set rng_all = lo_table.Range
Debug.Print rng_all.Address
lo_table.Unlist
With ws.Sort
.SortFields.Clear
.SortFields.Add Key:=rng_sel.Columns(1), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
.SetRange rng_sel
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Set lo_table = ws.ListObjects.Add(xlSrcRange, rng_all, , xlYes)
lo_table.Name = lo_name
End Sub
पुनश्च: यह सवाल शायद स्टैक ओवरफ्लो के लिए बेहतर अनुकूल है।