Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.12.2012, 08:50   #1
manula
Форумчанин
 
Регистрация: 17.04.2011
Сообщений: 168
По умолчанию Выдает ошибку

Здравствуйте уважаемые форумчане не могли бы все мне помочь в устранении следующей ошибки, вот листинг макроса:
PHP код:
ThisWorkbook.Worksheets("Архив").Select
Range
("A2:H2").Select
Range
(SelectionSelection.End(xlDown)).Select
Application
.CutCopyMode False
Selection
.Sort Key1:=Range("D2"), Order1:=xlAscendingHeader:=xlGuess_
OrderCustom
:=1MatchCase:=FalseOrientation:=xlTopToBottom_
DataOption1
:=xlSortNormal 
Ошибка:Run-time error '1004': Application-defined or object-defined error.
Помогите пожалуйста, в чем проблема.
manula вне форума Ответить с цитированием
Старый 21.12.2012, 09:06   #2
manula
Форумчанин
 
Регистрация: 17.04.2011
Сообщений: 168
По умолчанию

Есть лист "Инвентарь" там кнопка, при нажатии на кнопку вызывается этот макрос и вылетает ошибка. Просто при нажатии на кнопку я должен отсортировать столбец D2 по возрастанию, ну чтобы информация отсортировалась не только в этом столбце а полностью, а то получится что массив данных останется без изменения а сам столбец отсортируется.
manula вне форума Ответить с цитированием
Старый 21.12.2012, 09:09   #3
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Я бы не исключал, что у Вас есть объединенные ячейки в выбранном диапазоне. Но без файла утверждать не берусь.

но вот такой вариант будет работать быстрее:
Код:
Application.CutCopyMode = False
[Архив!A1].CurrentRegion.Sort Key1:=[D2], Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Правильно поставленная задача - три четверти решения.

Последний раз редактировалось DiemonStar; 21.12.2012 в 09:18.
DiemonStar вне форума Ответить с цитированием
Старый 21.12.2012, 09:12   #4
manula
Форумчанин
 
Регистрация: 17.04.2011
Сообщений: 168
По умолчанию

Нет объединенных ячеек точно нет, сам массив выгружаемый, всего 225 строк.
А может как то влиять что столбцы разной длины?
manula вне форума Ответить с цитированием
Старый 21.12.2012, 09:20   #5
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Сообщение от manula Посмотреть сообщение
Нет объединенных ячеек точно нет, сам массив выгружаемый, всего 225 строк.
А может как то влиять что столбцы разной длины?
без исходного файла вам никто не скажет из-за чего возникает ошибка. можно только догадываться.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 21.12.2012, 09:32   #6
manula
Форумчанин
 
Регистрация: 17.04.2011
Сообщений: 168
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
без исходного файла вам никто не скажет из-за чего возникает ошибка. можно только догадываться.
В плане исходного файла я его формирую на лист "Архив" вот как он выглядит:
Код:
211 01 1010 430100089       Методичка          4.000   867.03   0512
211 01 1010 504114801       КЛАВИАТУРА         2.000   0.00     0311
211 01 1010 504115336       МОНИТОР LG520SI    2.000   0.00     0311
211 01 1010 756985031111    ЦИФРОВАЯ КАМЕРА    1.000   0.00	1210

Последний раз редактировалось manula; 21.12.2012 в 09:39.
manula вне форума Ответить с цитированием
Старый 21.12.2012, 09:39   #7
manula
Форумчанин
 
Регистрация: 17.04.2011
Сообщений: 168
По умолчанию

Вот, мне нужно отсортировать 4 столбец.
manula вне форума Ответить с цитированием
Старый 21.12.2012, 09:52   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Код вероятно в модуле листа?
Хотя сперва я думал, что просто нет листа "Архив"
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 21.12.2012, 10:13   #9
manula
Форумчанин
 
Регистрация: 17.04.2011
Сообщений: 168
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Код вероятно в модуле листа?
Хотя сперва я думал, что просто нет листа "Архив"
Да код в модуле, но я его вставил на лист "Инвентарь" и появилась ошибка, если же просто использую макрос то все работает, а можно его как то подредактировать чтоб он заработал на листе "Инвентарь"
manula вне форума Ответить с цитированием
Старый 21.12.2012, 10:16   #10
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Код вероятно в модуле листа?
Хотя сперва я думал, что просто нет листа "Архив"
Опять-же: если код в модуле, то ссылка на столбец сортировки неправильная. надо использовать такой вариант:

Код:
Application.CutCopyMode = False
[Архив!A1].CurrentRegion.Sort Key1:=[Архив!D2], Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
или, в оригинальной трактовке:
Код:
ThisWorkbook.Worksheets("Архив").Select 
Range("A2:H2").Select 
Range(Selection, Selection.End(xlDown)).Select 
Application.CutCopyMode = False 
Selection.Sort Key1:=Worksheets("Архив").Range("D2"), Order1:=xlAscending, Header:=xlGuess, _ 
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ 
DataOption1:=xlSortNormal
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выдает ошибку Жека90 Общие вопросы C/C++ 3 26.06.2012 22:13
выдает ошибку ВрединкаИринка Общие вопросы Delphi 2 18.06.2012 20:46
выдает ошибку (C++) Carter Помощь студентам 2 10.03.2012 17:37
Выдает ошибку( И.А.А. Общие вопросы C/C++ 1 21.05.2010 19:10
выдает ошибку! maksim_serg Microsoft Office Word 3 20.04.2010 04:19