|
3 / 3 / 1
Регистрация: 28.09.2015
Сообщений: 271
|
|
Как макросом провести фигуру-линию - из центра одной ячейки в центр другой ячейки03.09.2017, 13:38. Показов 3089. Ответов 9
Метки нет (Все метки)
Добрый день, господа программисты.
Помогите разобраться. На листе находятся две ячейки (я подкрасил их желтым и зеленым цветом) Также на листе находится табличка B4:C5 с названиями адресов данных ячеек. Как макросом провести автофигуру-стрелку по двум координатам - из центра ячейки F10 (желтого цвета) в центр ячейки J18 (зеленого цвета) ориентируясь на адреса из таблицы B4:C5 ? (если сменить адреса ячеек B4:C5 в области и нажать на кнопку - то предыдущая линия сотрется и отобразится между двумя другими назначенными ячейками) (это не отображение связей, а расположение линии между центрами двух ячеек)
0
|
|
| 03.09.2017, 13:38 | |
|
Ответы с готовыми решениями:
9
Залить ячейки находящиеся на одной стороке с одинаковым текстом в другой ячейки находящейся в этой же строке
|
|
141 / 119 / 29
Регистрация: 12.02.2017
Сообщений: 308
|
|||||||||||
| 03.09.2017, 19:55 | |||||||||||
|
Пример
Вот с удалением предыдущей линии
1
|
|||||||||||
|
11 / 11 / 2
Регистрация: 30.08.2017
Сообщений: 40
|
|||||||||||
| 03.09.2017, 20:09 | |||||||||||
|
Добрый вечер коллеги!
Вот это выражение выдает ошибку: "Run-time error '1004': Method 'Range' of object '_Global' failed":
0
|
|||||||||||
|
3 / 3 / 1
Регистрация: 28.09.2015
Сообщений: 271
|
|
| 03.09.2017, 20:29 [ТС] | |
|
Homarty , подскажите - как заставить этот макрос - не удалять кнопку, которая располагается на листе ?
(Как я понял - строчка If .Shapes.Count Then .Shapes(1).Delete - удаляет все автофигуры с листа)
0
|
|
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
||||||||||||
| 03.09.2017, 23:21 | ||||||||||||
|
yl3d,
Павел86, то, что вы считаете, это неправильно, ведь нужна не ячейка 5,2 а ссылка на ячейку, адрес которой находится в ней. можно было записать
0
|
||||||||||||
|
11 / 11 / 2
Регистрация: 30.08.2017
Сообщений: 40
|
|
| 04.09.2017, 04:55 | |
|
Вы правы, не обратил внимания, что в ячейках содержаться адреса (ссылки на другие ячейки).
0
|
|
|
3 / 3 / 1
Регистрация: 28.09.2015
Сообщений: 271
|
|
| 04.09.2017, 08:08 [ТС] | |
|
Burk , почему-то не работает.
При вводе новых координат - предыдущая линия не стирается.
0
|
|
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 04.09.2017, 09:22 | |
|
yl3d, У меня всё работает, только удаление просходит не сразу. Чтобы было видно сразу, поставил оператор DoEvents после удаления. Также поставил в блоке удаления промежуточный вывод для проверки
Также рекомендую менять свойство Name на своё, а то все объекты со стандартными именами отличаются только номерами и эксель сохраняет эти номера даже при удалении объекта. Я выбрал имя "Arrow" & ячейка начала & ячейка конца стрелки. Если вы это примете, то в условии If Instr можно оставить только первый оператор. В этом случае будут удаляться только линии, созданные через этот макрос, а не какие-то другие. Пример в файле сделан без этих изменений, на файле, который вы прислали
0
|
|
|
3 / 3 / 1
Регистрация: 28.09.2015
Сообщений: 271
|
|
| 04.09.2017, 11:10 [ТС] | |
|
Burk , вот теперь все заработало.
Огромное спасибо.
0
|
|
|
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
|
|
| 04.09.2017, 18:05 | |
|
yl3d, У меня и тогда работало, только не помню уже где был макрос на странице или модуле. Кстати, если макрос в коде страницы и убрать точки перед Cells, хотя вроде можно и так, ведь по умолчанию берется Activesheet, то вылетает по ошибке 1004, Если перенести в таком виде в модуль, то работает. Сам был удивлен такому глюку.
Совет - поставьте оператор DoEvents и после создания линии перед переименовыванием Шейпа. Так надежнее Добавлено через 5 часов 46 минут yl3d, я сейчас запустил чисто тот файл, который вы прислали во второй раз, ничего не меняя. Ваши множественные линии пропали и нарисовалась одна, заданная в ячейках. Может ваши настройки...хотя не представляю, что может быть. Добавлено через 12 минут yl3d, единственное, что пришло в голову - может надо перезагружать файл после сделанных изменений макроса
0
|
|
| 04.09.2017, 18:05 | |
|
Помогаю со студенческими работами здесь
10
Как задать значение для ячейки в зависимости от значения другой ячейки
Приплюсовывание числа одной ячейки как минут к другой ячейке Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|