Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Расстановка названий объектов по порядку их соединения - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Расстановка названий объектов по порядку их соединения (Макросы/Sub)
Расстановка названий объектов по порядку их соединения
Megamen2 Дата: Воскресенье, 22.04.2018, 17:23 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Привет, народ.
Подскажите - если кто разбирается.

Задали такую вещь:
Есть ряд фигур, соединенных в цепочку - соединительными линиями.
Началом цепочки считается красный круг.
Как преобразовать эту цепочку в текст типа начало-ромб2-прямоугольник33-овал34-овал35-треугольник36 и вставить результат в ячейку E15 ???
То есть - названия надо расставить по порядку - как они в цепочке идут.
К сообщению приложен файл: 3150782.xls (49.5 Kb)
 
Ответить
СообщениеПривет, народ.
Подскажите - если кто разбирается.

Задали такую вещь:
Есть ряд фигур, соединенных в цепочку - соединительными линиями.
Началом цепочки считается красный круг.
Как преобразовать эту цепочку в текст типа начало-ромб2-прямоугольник33-овал34-овал35-треугольник36 и вставить результат в ячейку E15 ???
То есть - названия надо расставить по порядку - как они в цепочке идут.

Автор - Megamen2
Дата добавления - 22.04.2018 в 17:23
doober Дата: Воскресенье, 22.04.2018, 20:28 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте.
если кто разбирается

Самую малость.Алгоритм таков.
Находите соединяющие линии,получаете фигуры, которые она соединяет.Обрабатываете данные. строите цепочку
[vba]
Код
    For Each chap In ActiveSheet.Shapes
        If chap.Connector = msoTrue Then
            Set BeginShape = chap.ConnectorFormat.BeginConnectedShape
            Set EndShape = chap.ConnectorFormat.EndConnectedShape
        End If
    Next
[/vba]


 
Ответить
СообщениеЗдравствуйте.
если кто разбирается

Самую малость.Алгоритм таков.
Находите соединяющие линии,получаете фигуры, которые она соединяет.Обрабатываете данные. строите цепочку
[vba]
Код
    For Each chap In ActiveSheet.Shapes
        If chap.Connector = msoTrue Then
            Set BeginShape = chap.ConnectorFormat.BeginConnectedShape
            Set EndShape = chap.ConnectorFormat.EndConnectedShape
        End If
    Next
[/vba]

Автор - doober
Дата добавления - 22.04.2018 в 20:28
Megamen2 Дата: Воскресенье, 22.04.2018, 21:08 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
doober, а зачем искать соединительные линии ?

В их названии - никакой системы нет - они могут идти как угодно, в том числе и в разнобой.
 
Ответить
Сообщениеdoober, а зачем искать соединительные линии ?

В их названии - никакой системы нет - они могут идти как угодно, в том числе и в разнобой.

Автор - Megamen2
Дата добавления - 22.04.2018 в 21:08
_Igor_61 Дата: Воскресенье, 22.04.2018, 21:22 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 504
Репутация: 90 ±
Замечаний: 0% ±

Excel 2007
зачем искать соединительные линии ?

Наверное затем, что они соединяют фигуры, названия которых Вы хотите выстроить в цепочку, значит к этим линиям можно привязаться и идти дальше.
Добавьте в код из сообщения №2 перед "End If" и посмотрите что произойдет:
[vba]
Код
Cells(Cells(Rows.Count, 14).End(xlUp).Row + 1, 14).Value = chap.Name
[/vba]
P.S. А вообще-то попробуйте так, может получится что-то:
[vba]
Код
For Each chap In ActiveSheet.Shapes
            Cells(Cells(Rows.Count, 14).End(xlUp).Row + 1, 14).Value = chap.Name
    Next
[/vba]
Останется вывести из столбика в строчку и удалить названия линий, но это уже к данной теме не относится :)


Сообщение отредактировал _Igor_61 - Воскресенье, 22.04.2018, 21:56
 
Ответить
Сообщение
зачем искать соединительные линии ?

Наверное затем, что они соединяют фигуры, названия которых Вы хотите выстроить в цепочку, значит к этим линиям можно привязаться и идти дальше.
Добавьте в код из сообщения №2 перед "End If" и посмотрите что произойдет:
[vba]
Код
Cells(Cells(Rows.Count, 14).End(xlUp).Row + 1, 14).Value = chap.Name
[/vba]
P.S. А вообще-то попробуйте так, может получится что-то:
[vba]
Код
For Each chap In ActiveSheet.Shapes
            Cells(Cells(Rows.Count, 14).End(xlUp).Row + 1, 14).Value = chap.Name
    Next
[/vba]
Останется вывести из столбика в строчку и удалить названия линий, но это уже к данной теме не относится :)

Автор - _Igor_61
Дата добавления - 22.04.2018 в 21:22
Megamen2 Дата: Воскресенье, 22.04.2018, 22:51 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
_Igor_61, вот второй код - сработал.
Спасибо, помогли.
 
Ответить
Сообщение_Igor_61, вот второй код - сработал.
Спасибо, помогли.

Автор - Megamen2
Дата добавления - 22.04.2018 в 22:51
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Расстановка названий объектов по порядку их соединения (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!