![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 12.11.2009
Сообщений: 258
|
![]()
нужна функция сокращающая запись вида
"48,50,57,58,53,51,60,62,56,45,44,4 6,46,47,66,61,59,49,63,64,52,65,69, 69,69,69" до 44-53,56-66,69 т.е порядковое перечисление сокращающая. почти написал - но не могу удалить повторяющиеся элементы хотя задача вроде типовая. код брал отсюда http://www.cyberforum.ru/vba/thread911425.html С виду все верно - но получаю ошибку несоответствия типа. В чем я ошибся ? Код:
Последний раз редактировалось bdfy; 09.06.2017 в 23:38. |
![]() |
![]() |
![]() |
#2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]() Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 12.11.2009
Сообщений: 258
|
![]()
красивый код. не некорректный
результат 44-53,56-66 т.е теряется 69 а главное мне код этот нужно запускать не из Excel и из под Visio (но тут такого раздела нет), поэтому решение делаю на "чистом" VBA по возможности без объектов Excel. как переработать чтобы это запускалось из любой программы офиса ? |
![]() |
![]() |
![]() |
#4 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
ошибка стандартная - не проверял код((
замените: With Cells(1, i).Resize(UBound(ar) , 1) на: With Cells(1, i).Resize(UBound(ar) + 1, 1) и появиться 69
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 12.11.2009
Сообщений: 258
|
![]()
прекрасно, красиво, но как это решение применить к моей задаче все еще неясно. я не могу это запускать в екселе к сожалению
Почему не работает стандартная функция в моем решении ? В чем моя ошибка ? |
![]() |
![]() |
![]() |
#6 | |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]() Цитата:
вот эти 4 строки: Код:
предполагаю, что упасть все может только на этих строках, посортируйте ar перебирая значения массива и избавитесь от потенциальной причины ошибки
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
|
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 12.11.2009
Сообщений: 258
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#8 | |
Форумчанин
Регистрация: 14.02.2009
Сообщений: 753
|
![]() Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 12.11.2009
Сообщений: 258
|
![]()
i& x%
Какой то сакральный смысл в значках "&%" есть или нет ? alex77755 первый элемент массива пропадает в такой реализации как это поправить ? Последний раз редактировалось bdfy; 10.06.2017 в 17:31. |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 12.11.2009
Сообщений: 258
|
![]()
IgorGO
спасибо ![]() нужно только какой нибудь объект екселя вызвать Код:
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Убрать из массива повторяющиеся элементы | jirtreck | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 13.03.2016 02:42 |
Найти в массиве повторяющиеся элементы и записать только уникальные элементы в новый массив из первого массива | REztor | C# (си шарп) | 0 | 20.06.2015 16:55 |
Сформировать новый массив, содержащий повторяющиеся элементы массива A. Элементы в новом массиве не повторяются(Pascal) | mad_putin | Помощь студентам | 0 | 13.12.2012 00:09 |
Повторяющиеся элементы одномерного массива, чистый СИ | Immoralist | Помощь студентам | 1 | 11.05.2012 12:49 |
Повторяющиеся элементы массива | Stanislav | Общие вопросы Delphi | 10 | 23.05.2008 12:31 |