|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.03.2018, 14:22 | #1 |
Пользователь
Регистрация: 06.07.2017
Сообщений: 21
|
Массивы: номер строки элемента
Добрый день!
С массивами только начинаю знакомиться. Подскажите пожалуйста как вывести в результат номера строк excel соответствующие элементам заполненного массива, а не их значения? Массив значений формирую так: Код:
|
29.03.2018, 14:41 | #2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
трудно понять чего Вы добиваетесь этим кодом...
особенно, когда Вы: - первой фразой говорите о работе с массивами - собираете коллекцию - используете несуразную маску "**.**.****" - и выводе как результат строку а что нужно-то?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
29.03.2018, 14:54 | #3 |
Пользователь
Регистрация: 06.07.2017
Сообщений: 21
|
Да, наверное путаю, массивы и коллекции для меня пока один дремучий лес...
Маска "**.**.****" нужна в конкретной задаче, но не суть. Чтобы понятнее стало, просто на отрешенном примере попробую объяснить: Есть диапазон ячеек A1:A10, заполненный числовыми значениями, например от 10 до 20 по порядку. Нужно записать в коллекцию только номера строк тех элементов, которые больше 15. Т.е. на выходе будет: 6, 7, 8, 9, 10 Я знаю как это сделать в цикле, но для ускорения работы, мне нужно это сделать на коллекциях или массивах, вот моя задача. Спасибо! |
29.03.2018, 15:21 | #4 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
вот чтобы стало понятнее - опишите задачу, которую Вы решаете, а не метод, которым Вы пытались ее решить
а по поводу маски Ваша "**.**.****" ничем не отличается от более скромной "*.*.*" возможно с Вашей точки зрения это "**.**.****" маска даты типа 29.03.2018, то с точки зрения VBA это "*.*.*" маска абсолютно аналочичная вашей и под это маску подходит ЛЮБАЯ СТРОКА, в которой есть хотябы 2 точки. например: .. - подходит! несмотря на все ее аскетичность (причем подходит даже без " - подходит!" после двух точек) зорин.зоман.в-газы - подходит! содержание романа "Война и мир" - полностью подходит под эту маску, потому что там есть как минимум 2 точки в тексте (покойный Лев Толстой именно таким способом отделял одно предложение от другого)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
29.03.2018, 15:51 | #5 |
Пользователь
Регистрация: 06.07.2017
Сообщений: 21
|
По маске у меня фильтруется код проекта, который имеет структуру xx.xx.xxxx, например 12.12.1234. С помощью нее я отсеиваю ячейки пустые, нулевые, с пробелом, с текстом, хотя здесь мог бы напороться если бы в тексте оказалось 2 точки. Теперь буду знать, спасибо!
Но суть не только в маске, задача в следующем: - на листе в столбце A коды проектов, их много, но там не только коды, но и ячейки с прочими данными, которые не нужны для дальнейшего анализа - на текущий момент я написал код состоящий из большого количества циклов, которые по маске и прочим параметрам, выбирают только строки с нужным кодом, а дальше происходят различные операции. Цикл фильтрации по маске повторяется много раз в различных блоках кода. И я не могу написать один цикл фильтрации, а внутри остальные операции, поверьте на слово, такая особенность. Для того чтобы каждый раз не пробегать весь столбец, отфильтровывая нужные строки с кодами, я и хочу оптимизировать скорость процесса - т.е. 1 раз занести отфильтрованные строки в коллекцию (массив), а дальше уже обращаться к этой коллекции (массиву) сколько угодно раз. |
29.03.2018, 16:06 | #6 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
Maksim_V Вашей маске больше подошла б ??.??.???? ведь в переводе на человеческий "**" означает "БезсконечностьБесконечность", а из школы мы знаем что БесконечностьБесконечность = Бесконечность, следовательно ** = *
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
29.03.2018, 16:22 | #7 |
Пользователь
Регистрация: 06.07.2017
Сообщений: 21
|
Спасибо! Да, это больше подходит, хотя в реальных файлах у меня работает и имеющаяся маска, т.к. там ограниченный набор вероятных значений. Но мы не туда ушли с этой маской, это дело десятое, главное для меня оптимизация кода, как описал выше. Надеюсь на подсказку.
|
29.03.2018, 16:45 | #8 | |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Цитата:
когда Чак Норрис выступал с лекцией перед студентами-математиками, ведущий представил его: - А сейчас перед вами выступит Чак Норрис - единственный человек в мире, который досчитал до бесконечночти! - Дважды, - скромно поправил Час Норрис
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
|
29.03.2018, 17:28 | #9 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
см.вложение
добавляйте данные в колонку А. жмите кнопку как видите для масок E1 и G1 - выводятся аналогичные результаты! похоже Вам-таки нужна маска: ??.??.????
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
29.03.2018, 17:45 | #10 |
Пользователь
Регистрация: 06.07.2017
Сообщений: 21
|
Спасибо! Да я понял что маска нужна другая, не спорю, точнее в моём случае, если не ошибаюсь лучше даже "##.##.####", т.к. внутри должны быть только числовые элементы, и не должно быть буквенных. Правильно?
Собственно основное решение я похоже нашел (на зарубежном сайте) на словаре: Код:
Еще раз спасибо! |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти номер строки и столбца максимального элемента.(PascalABCNET) | FlayGlam | Помощь студентам | 3 | 04.12.2016 04:42 |
Номер элемента последовательности | lefok | Помощь студентам | 1 | 28.11.2015 17:08 |
Выводить только измененные строки. Перед каждой строкой записывать номер строки в исходном тексте.используя строки и текст.файл | nero4ka | C++ Builder | 1 | 13.06.2015 07:14 |
3. Вывести номер строки наименьшего элемента в двумерном массиве | zebatic | Помощь студентам | 1 | 11.06.2010 00:14 |