Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
wikdogf
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 11
1

Как сортировать?

11.06.2013, 19:35. Просмотров 676. Ответов 16
Метки нет (Все метки)

по убыванию строку и записывать результат в столбец?(vba)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.06.2013, 19:35
Ответы с готовыми решениями:

Как сортировать массив
Здравствуйте. Подскажите, как отсортировать массив данных макросом по столбцу...

Как программно сортировать листы?
допустим в книге есть два листа, создаю третий, но мне надо, чтобы он был не в...

Excel VBA как сортировать двумерный массив полностью?
Есть массив NxM, видел сортировку по столбцу и т.д., интересен вариант...

Задан текст из 20 символов латинского алфавита. Сортировать по алфавиту. VBA
Просто выводит в label из textbox. помогите пожалуйста сортировать(пузырьком не...

Программа должна сортировать стороки по убыванию суммы элементов строки и копировать на второй лист
не полностью работает программа.программа должна сортировать стороки по...

16
toiai
3099 / 890 / 195
Регистрация: 29.05.2010
Сообщений: 1,914
11.06.2013, 19:50 2
Сортировка по длине слов или по алфавиту?
0
wikdogf
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 11
11.06.2013, 19:51  [ТС] 3
числа по убыванию
0
toiai
3099 / 890 / 195
Регистрация: 29.05.2010
Сообщений: 1,914
11.06.2013, 19:59 4
Цитата Сообщение от wikdogf Посмотреть сообщение
строку
Цитата Сообщение от wikdogf Посмотреть сообщение
числа
Определись!
1
wikdogf
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 11
11.06.2013, 20:01  [ТС] 5
Даны эти числа в строке
2.286 0.667 6.500 0.762 0.313 0.800
их нужно по убыванию записать в столбец
0
Hugo121
6294 / 2393 / 406
Регистрация: 19.10.2012
Сообщений: 7,084
11.06.2013, 20:07 6
Word? Outlook? PowerPoint? Разделители?
1
wikdogf
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 11
11.06.2013, 20:10  [ТС] 7
эти числа записаны в строке Excel, мне нужно на VBA произвести сортировку и записать отсортированные данные в столбец по убыванию
0
Hugo121
6294 / 2393 / 406
Регистрация: 19.10.2012
Сообщений: 7,084
11.06.2013, 20:13 8
Копируете спецвставкой с транспонированием, сортируете.
Всё это записываете рекордером.
Вот Вам и макрос.

Разделители сыграют роль при сортировке - ну это на Вашей совести...
0
wikdogf
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 11
11.06.2013, 20:16  [ТС] 9
вы меня не поняли, мне нужно именно на vba, т.к. одним из действий задачи является сортировка
0
Hugo121
6294 / 2393 / 406
Регистрация: 19.10.2012
Сообщений: 7,084
11.06.2013, 20:19 10
Нет, это Вы не поняли. Там есть слово "записываете рекордером". Т.е. даже 2 слова

Добавлено через 1 минуту
А вообще был бы в самом начале файл - был бы сразу и макрос. Может быть даже без всякой воды типа этой.
0
wikdogf
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 11
11.06.2013, 20:22  [ТС] 11
просто я очень плохо во всем этом разбираюсь, а делать приходится!
0
Hugo121
6294 / 2393 / 406
Регистрация: 19.10.2012
Сообщений: 7,084
11.06.2013, 20:24 12
Так файл будет с этими числами/нечислами?
0
wikdogf
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 11
11.06.2013, 20:27  [ТС] 13
нет, числа меняются при изменении значений в условии задачи, их количество может увеличиться или умепньшиться
0
toiai
3099 / 890 / 195
Регистрация: 29.05.2010
Сообщений: 1,914
11.06.2013, 20:34 14
Visual Basic
1
2
3
4
5
6
7
8
Sub pr()
    Dim v
    v = Split("2.286 0.667 6.500 0.762 0.313 0.800")
    With Sheets(1)
        .Cells(1, 1).Resize(UBound(v) + 1).Value = WorksheetFunction.Transpose(v)
        [A1].Sort [A1], xlDescending, Header:=xlNo
    End With
End Sub
1
wikdogf
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 11
11.06.2013, 20:35  [ТС] 15
спасибо!!!
0
Hugo121
6294 / 2393 / 406
Регистрация: 19.10.2012
Сообщений: 7,084
11.06.2013, 20:44 16
Предвижу вопрос - а как использовать с моими значениями?
Visual Basic
1
2
3
4
5
6
7
8
9
10
Sub Макрос1()
    With Sheets(1)
        .Range("A1").CurrentRegion.Copy
        .Range("A3").PasteSpecial Paste:=xlPasteAll, Transpose:=True
        .Range("A1").CurrentRegion.Clear
        Application.CutCopyMode = False
        .Range("A3").CurrentRegion.Sort .Range("A3"), xlDescending, _
                                        Header:=xlNo
    End With
End Sub
1
Igor_Tr
4369 / 653 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
11.06.2013, 21:28 17
Или в машине...:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub mSORT()
Dim i&, j&, mTMP#, strARR
    strARR = Split(Application.Trim("2.286 0.667 6.500 0.762 0.313 0.800"), Space(1))
        For i = 0 To UBound(strARR) - 1
            For j = i + 1 To UBound(strARR)
                If CDbl(strARR(i)) < CDbl(strARR(j)) Then
                    mTMP = strARR(i)
                    strARR(i) = strARR(j)
                    strARR(j) = mTMP
                End If
            Next 'j
        Next 'i
    [a1].Value = Application.Trim("2.286 0.667 6.500 0.762 0.313 0.800")
    [a3].Resize(UBound(strARR) + 1, 1).Value = Application.Transpose(strARR)
End Sub
Но на листе проще ...
1
11.06.2013, 21:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.06.2013, 21:28

Как сортировать координаты?
1. На форму поместить N точек (каждая точка помещается на форму по нажатию...

Как сортировать строки?
Помогите пожалуйста, есть структура с полем символьного типа, также объявлен...

Как сортировать массив
В массиве положительных чисел а1,а2,...аN разместить в начале массива числа, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru