sort работает в exel2000 и частично работает в exel97

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
$€rg
Обычный пользователь
Обычный пользователь
 
Сообщения: 99
Зарегистрирован: 11.01.2006 (Ср) 10:15
Откуда: Санкт-Петербург

sort работает в exel2000 и частично работает в exel97

Сообщение $€rg » 20.02.2006 (Пн) 16:12

Есть процедура с использованием сортировки. В doc_open содержиться вызов этой процедуры все работает, на 1листе есть кнопка, в процедуре клика кнопки вызывается таже самая процедура с сортировкой, пишет ошибку, метод завершен неверно. exel2000 все работает. Это в руках проблема?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.02.2006 (Пн) 16:20

Наверняка.
Код в студию.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

$€rg
Обычный пользователь
Обычный пользователь
 
Сообщения: 99
Зарегистрирован: 11.01.2006 (Ср) 10:15
Откуда: Санкт-Петербург

Сообщение $€rg » 20.02.2006 (Пн) 16:33

Range("v:v").Sort Key1:=Range("v1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Последний раз редактировалось $€rg 20.02.2006 (Пн) 17:42, всего редактировалось 1 раз.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.02.2006 (Пн) 16:39

Orientation:=xlSortRows, а не Orientation:=xlTopToBottom.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

$€rg
Обычный пользователь
Обычный пользователь
 
Сообщения: 99
Зарегистрирован: 11.01.2006 (Ср) 10:15
Откуда: Санкт-Петербург

Сообщение $€rg » 20.02.2006 (Пн) 16:53

почему сверху вниз работает в 97 только с документ открыть, работает в 2000 везде, если в 2 словах, чтоб понимать, кроме мсдн нет объяснения?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.02.2006 (Пн) 16:58

Справка офиса в самом офисе.

xlTopToBottom = 1

xlSortColumns = 1
xlSortRows = 2


Вывод:
xlTopToBottom = xlSortColumns
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

$€rg
Обычный пользователь
Обычный пользователь
 
Сообщения: 99
Зарегистрирован: 11.01.2006 (Ср) 10:15
Откуда: Санкт-Петербург

Сообщение $€rg » 20.02.2006 (Пн) 17:10

это приер из help97?

сверху_вниз=слева_направо, а я ... сортирую тут, ...как слышется так и пишется....

вот моя справка вба exel2000

Orientation Optional Variant. If you use xlSortRows , the sort is done from top to bottom (by row). If you use xlSortColumns, the sort is done from left to right (by column).

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 20.02.2006 (Пн) 17:30

У тебя в справке всё правильно написано.
А почему у тебя в коде вместо xlSortRows стоит xlTopToBottom, я не знаю. xlTopToBottom вообще к сортировке не относится. И случайно совпадает с xlSortColumns.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

$€rg
Обычный пользователь
Обычный пользователь
 
Сообщения: 99
Зарегистрирован: 11.01.2006 (Ср) 10:15
Откуда: Санкт-Петербург

Сообщение $€rg » 20.02.2006 (Пн) 17:40

Прикольно, ... случайно совпадает..., иногда работает.

Большое Человеческое Спасибо.


до кода на машине с 97 доберусь, поправлю, но все равно ничего не понимаю


http://www.yandex.ru/yandsearch?stype=w ... opToBottom

$€rg
Обычный пользователь
Обычный пользователь
 
Сообщения: 99
Зарегистрирован: 11.01.2006 (Ср) 10:15
Откуда: Санкт-Петербург

Сообщение $€rg » 21.02.2006 (Вт) 17:39

вопрос не в синтаксисе метода сорт, а в кнопке. После клика на листе во время дебага, сортировка работает, поэтому она работает и при открытии документа

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 21.02.2006 (Вт) 17:45

Угу... то же самое с методом find... багофича... cells(1,1).select... забываю про неё...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

$€rg
Обычный пользователь
Обычный пользователь
 
Сообщения: 99
Зарегистрирован: 11.01.2006 (Ср) 10:15
Откуда: Санкт-Петербург

Сообщение $€rg » 07.03.2006 (Вт) 10:16

оказывается все просто, хэлп и еще раз хэлп, случайно нашел

Some Microsoft Excel Visual Basic methods and properties are disabled when an ActiveX control is activated. For example, the Sort method cannot be used when a control is active, so the following code fails in a button click event procedure (because the control is still active after the user clicks it).

Private Sub CommandButton1_Click
Range("a1:a10").Sort Key1:=Range("a1")
End Sub

You can work around this problem by activating some other element on the sheet before you use the property or method that failed. For example, the following code sorts the range:

Private Sub CommandButton1_Click
Range("a1").Activate
Range("a1:a10").Sort Key1:=Range("a1")
CommandButton1.Activate
End Sub

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 07.03.2006 (Вт) 10:48

$€rg
Под "cells(1,1).select" я имел в виду именно это...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

$€rg
Обычный пользователь
Обычный пользователь
 
Сообщения: 99
Зарегистрирован: 11.01.2006 (Ср) 10:15
Откуда: Санкт-Петербург

Сообщение $€rg » 07.03.2006 (Вт) 13:57

:lol: , тупанул, зато первоисточник нашел :wink:


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 46

    TopList  
cron