Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.07.2009, 15:30   #1
Stoodentka
 
Регистрация: 06.06.2009
Сообщений: 7
По умолчанию как нарисовать стрелку из одной ячейки в другую

Уважаемые форумчане!
Есть список пунктов, между которыми проложен канал. Подскажите, пожалуйста, как нарисовать стрелку из одного пункта в другой? Можно, конечно, и руками, но пунктов очень много. Заранее спасибо тем, кто откликнулся!!!
Вложения
Тип файла: rar Matrix (2).rar (10.3 Кб, 33 просмотров)
Stoodentka вне форума Ответить с цитированием
Старый 29.07.2009, 17:33   #2
diment
Пользователь
 
Регистрация: 16.06.2009
Сообщений: 20
По умолчанию

предлагается вот такой "нехитрый" вариант решения проблемы
Вложения
Тип файла: rar Matrix (2).rar (29.7 Кб, 44 просмотров)
diment вне форума Ответить с цитированием
Старый 30.07.2009, 10:59   #3
diment
Пользователь
 
Регистрация: 16.06.2009
Сообщений: 20
По умолчанию

есть еще более простой и больлее полезный вариант - показывающий направление канала
Вложения
Тип файла: rar Matrix (2).rar (22.3 Кб, 55 просмотров)
diment вне форума Ответить с цитированием
Старый 30.07.2009, 12:05   #4
Stoodentka
 
Регистрация: 06.06.2009
Сообщений: 7
По умолчанию

diment, большое спасибо за совет! Любопытное решение
Все-таки стрелки надо нарисовать.
Stoodentka вне форума Ответить с цитированием
Старый 27.02.2013, 17:11   #5
Diplodok
Новичок
Джуниор
 
Регистрация: 27.02.2013
Сообщений: 1
Радость Вопрос, конечно уже старый, но вдруг кому-то пригодится

Цитата:
Сообщение от Stoodentka Посмотреть сообщение
diment, большое спасибо за совет! Любопытное решение
Все-таки стрелки надо нарисовать.
Во-первых, в Экселе есть способ посмотреть как что-то сделать, используя запись макроса :-)
Во-вторых, примитивный пример рисования стрелки в ячейке Экселя на VBA.

*********************************
Sub DrawArrowInCell()

' -привязка к странице

Set mydocument = ThisWorkbook.Worksheets(1)

' получаем имя страницы для передачи его в подпрограммы и функции
wn = mydocument.Name

' получаем х координату центра ячейки (4,7)
xb = GetXCellCenter(wn, 4, 7)

' получаем у координату центра ячейки (4,7)
yb = GetYCellCenter(wn, 4, 7)

lx = 43 ' задаем длину стрелки в поинтах по х
ly = -30 ' задаем длину стрелки в поинтах по у
' знак управляет направлением стрелки.
' Отсчет координат, традиционно, из верхнего левого угла вправо (Х) и вниз (У)


' удаляем все объекты на листе
mydocument.Shapes.SelectAll Selection.Delete

'Рисуем стрелку из центра (xb,yb)
With mydocument.Shapes.AddLine(xb, yb, xb + lx, yb + ly).Line
.ForeColor.RGB = RGB(0, 0, 0)
.EndArrowheadStyle = msoArrowheadTriangle
.EndArrowheadLength = msoArrowheadLengthMedium
.EndArrowheadWidth = msoArrowheadWidthMedium
End With

End Sub

'Функция вычисления координаты Y центра ячейки в поинтах
Function GetYCellCenter(Ws, row, column)
With ThisWorkbook.Worksheets(Ws)
ay = 0
For j = 1 To row
rh = .Cells(j, column).Rows.Height
ay = ay + rh
Next j
End With
GetYCellCenter = ay - rh / 2 ' смещаем в центр ряда
End Function

'Функция вычисления координаты X центра ячейки в поинтах

Function GetXCellCenter(Ws, row, column)
With ThisWorkbook.Worksheets(Ws)
ax = 0
For i = 1 To column
cw = .Cells(row, i).Columns.Width
ax = ax + cw
Next i
End With
GetXCellCenter = ax - cw / 2 ' смещаем в центр колонки
End Function

*********************************
Файл с макросом в архиве.
Удачи
Вложения
Тип файла: rar arrows.rar (11.0 Кб, 25 просмотров)
Diplodok вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как нарисовать стрелку ? C++ zfoxx Общие вопросы C/C++ 0 10.05.2009 17:20
как перейти из одной формы в другую lusek Общие вопросы Delphi 7 01.02.2009 14:16
Передача данных из одной таблицы в другую, при выборе одной ячейки MickMick Microsoft Office Excel 6 06.10.2008 13:57
Как разделить число и текст в одной ячейки на две ячейки. neboskreb Microsoft Office Excel 2 15.04.2008 19:39