Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Sort Выстраивает данные в лексикографическом порядке по возрастанию или убыванию. Он осуществляет сортировку строк, списков и БД, а также столбцов рабочих листов с учетом до трех критериев сортировки. Имеет ряд параметров key1 – ссылка на первое упорядочиваемое поле; order1 – задает порядок сортировки (x1Ascending – по возрастанию, x1Descendng – по убыванию); key2, order2, key3, order3 – аналогично; header – определяет наличие в первой строке диапазона заголовка (x1Yes) или его отсутствие (x1No); matchCase – учитывает наличие регистра (True) или его отсутствие (False); orientation задает направление сортировки сверху вниз (xlTopToBottom) или слева направо (x1LeftToRight).
Пример. (Отсортировать слова в строке по возрастанию с учетом регистра.)
Dim s As String
Private Sub Command1_Click()
Const xlAscending = 1
Const xlDescending = 2
Const xlNo = 2
Const xlTopToBottom = 1
Dim ObjExcel As Object
'Создаем объект OLE Automation и задаем свойства книги и листа
Set ObjExcel = CreateObject("Excel.Application")
With ObjExcel
.WorkBooks.Add
.ActiveSheet.Name = "Сортировка"
.Visible = False
.DisplayAlerts = False
End With
p = Split(s, ",") 'Создаем массив слов из строки
n% = UBound(p)
For i% = 0 To n
ObjExcel.Cells(i + 1, 1) = p(i)
Next i
ObjExcel.Range("A1:A" & Trim(CStr(n + 1))).Sort key1:=ObjExcel.Range("A1"), order1:=xlAscending, Header:=xlNo, matchCase:=True, Orientation:=xlTopToBottom
s = ""
For i% = 1 To n + 1
p = ObjExcel.Cells(i, 1).Value
If i <> n + 1 Then
s = s & p & ","
Else
s = s & p
End If
Next i
Text2 = s
ObjExcel.Quit
Set ObjExcel = Nothing
End Sub
Private Sub Form_Load()
Caption = "Сортировка слов в строке"
Command1.Caption = "Sort"
Text1 = ""
Text2 = ""
'Ввод исходной строки
s = InputBox("Строка",, "Маша,маша,мАша,МАША,маША,маШа,мАшА,мАША")
Text1 = s
End Sub
Дата публикования: 2014-12-28; Прочитано: 196 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!