Sort buttons by caption?

  • Thread starter Thread starter David
  • Start date Start date
Here's a simple bubblesort which will check form controls for alphabetical
and sort them vertically.
To sort them horizontally, replace .Top with .Left

Sub testit()
Dim i As Long, j As Long, lngTemp As Long

With ActiveSheet
For i = 1 To .Shapes.Count - 1
For j = 1 To .Shapes.Count - 1
If .Shapes(j).Type = msoFormControl And .Shapes(j + 1).Type
= msoFormControl Then
If .Shapes(j).TextFrame.Characters.Text < .Shapes(j +
1).TextFrame.Characters.Text And _
.Shapes(j).Top > .Shapes(j + 1).Top Then
lngTemp = .Shapes(j).Top
.Shapes(j).Top = .Shapes(j + 1).Top
.Shapes(j + 1).Top = lngTemp
End If
End If
Next
Next
End With
End Sub
 
Rob van Gelder wrote
Here's a simple bubblesort which will check form controls for
alphabetical and sort them vertically.
To sort them horizontally, replace .Top with .Left

Hi Rob,

Thanks for the effort. Copied code into VBE, cleaned up word wrap, and ran
it, but got unexpected results, even after ungrouping and repositioning my
active buttons (3 rows of 4 buttons to 1 vertical arrangement of 12). First
run actually "hid" one button behind another :(

After compensating for that (moving hidden button), subsequent tests did
not sort buttons -- no buttons moved from current unsorted position :(

Further, since I originally positioned these buttons precisely as desired
for the user, I would like to sort them without disturbing that position as
it takes a considerable amount of time to get them back to desired position
and regroup them. In other words, if the sort routine repositions them, I
might as well just reposition them manually to alphabetical.
 
David,

Not sure what's going on really.
You can send me your example as an attachment. Remove the nojunkmail- from
my e-mail.
 
Back
Top