Доброго здоровья всем!
Эта тема очень давно уже была на форуме . Но может быть, что то изменилось за это время. Причем недавно здесь была тема «. Там было решение от testuser. Меня интересует, как получить индекс элемента коллекции по его ключу. Мне кажется что должно быть какое то простое решение. Причем интересно то, что в коллекции листов это возможно. Насколько я понимаю имя листа (Name) это по сути ключ коллекции листа.
| Код |
|---|
Debug.Print Worksheets("Лист1").Index |
Немного поясню цель. Необходимо заменить элемент коллекции без изменения структуры коллекции (порядка в коллекции). В словаре таких проблем нет, там можно просто заменить элемент словаря по его ключу. Но иногда удобнее использовать коллекцию. В коллекции заменить элемент коллекции мы не можем (я не знаю такого способа), можно только удалить элемент коллекции, а потом добавить измененный элемент. Но чтобы не нарушать порядок надо добавить измененное значение на тоже место и у коллекции в методе ADD есть аргументы After и Before, но для этого надо знать индекс элемента коллекции, и раз есть эти аргументы в методе ADD, то по логике должен быть способ легко получить индекс элемента коллекции по его ключу. Конечно можно решить эту задачу по другому, но все получается некрасиво через костыли.