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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.01.2010, 13:21   #1
Kuraj
Пользователь
 
Регистрация: 04.01.2010
Сообщений: 20
По умолчанию VBA: работа с фигурами

Здравствуйте)
Кто знает материал для работы в VBA с созданием фигур? Пытался путём записывания макроса создавать фигуры не получилось макрос был чист...

В принципе надо что бы рисовалась стрелка обычная от 1 ячейки до другой.

Последний раз редактировалось Kuraj; 04.01.2010 в 13:28.
Kuraj вне форума Ответить с цитированием
Старый 04.01.2010, 13:41   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Почитайте эту тему: http://www.programmersforum.ru/showthread.php?t=33484

Там есть примеры кода для рисования эллипсов и стрелок:

Код:
    Dim sh As Worksheet: Set sh = ActiveSheet
    With sh.Shapes
        .SelectAll: Selection.Delete
        .AddLine(dx * 0.5, dy, dx * 1.5, dy).Line.EndArrowheadStyle = msoArrowheadTriangle
        .AddTextEffect msoTextEffect6, "x", "Arial", 10#, msoFalse, msoFalse, dx * 1.5, dy + 5

        .AddLine(dx, dy * 1.5, dx, dy * 0.5).Line.EndArrowheadStyle = msoArrowheadTriangle
        .AddTextEffect msoTextEffect6, "y", "Arial", 10#, msoFalse, msoFalse, dx + 5, dy * 0.5


        Set o = .AddShape(msoShapeOval, dx + x - w / 2, dy - y - h / 2, w, h)
        With o
            .Fill.ForeColor.RGB = vbRed
            .OnAction = "MoveEllipse"
            .Name = "NewOval"
            .Fill.Visible = msoFalse: .Line.Weight = 1.5: .Line.Style = msoLineSingle
            .IncrementRotation -1 * r
        End With
    End With
EducatedFool вне форума Ответить с цитированием
Старый 04.01.2010, 14:44   #3
Kuraj
Пользователь
 
Регистрация: 04.01.2010
Сообщений: 20
По умолчанию

Вот спасибо. Рисует по координатам но вопрос был немного другой.. может ли стрелка рисоватся например от ячейки а1 до а3 к примеру.. или есть функция для нахождения местоположения угла ячейки например или её середины?
Kuraj вне форума Ответить с цитированием
Старый 04.01.2010, 14:52   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
может ли стрелка рисоватся например от ячейки а1 до а3 к примеру..
Да запросто:

Код:
Sub ПримерИспользования()
    НарисоватьСтрелку [a6], [d1]
    НарисоватьСтрелку [a9], [d10]
End Sub

Sub НарисоватьСтрелку(ByRef Ячейка1 As Range, ByRef Ячейка2 As Range)
    BeginX = Ячейка1.Left + Ячейка1.Width / 2
    BeginY = Ячейка1.Top + Ячейка1.Height / 2
    EndX = Ячейка2.Left + Ячейка2.Width / 2
    EndY = Ячейка2.Top + Ячейка2.Height / 2

    ActiveSheet.Shapes.AddLine(BeginX, BeginY, EndX, EndY).Line.EndArrowheadStyle = msoArrowheadTriangle
End Sub
Пример файла:

EducatedFool вне форума Ответить с цитированием
Старый 04.01.2010, 16:23   #5
Kuraj
Пользователь
 
Регистрация: 04.01.2010
Сообщений: 20
По умолчанию

Теперь вообще спс огромное)) Уже разобрался)
Вот последний вопрос..
Заметил на форуме часто используют картинку с примерами файла разными..следовательно где то есть сайт с уже готовыми примерами не подскажите ссылку? Заранее благодарен)
Kuraj вне форума Ответить с цитированием
Старый 04.01.2010, 18:33   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
Заметил на форуме часто используют картинку с примерами файла..следовательно где то есть сайт с уже готовыми примерами
это заблуждение.
все основные примеры здесь
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
медленная работа VBA Jaroslav Microsoft Office Excel 7 13.08.2009 15:41
Работа с изображениями в VBA Hellion-x Microsoft Office Excel 4 06.08.2009 09:06
VBA работа с циклами melani Помощь студентам 2 28.03.2009 10:26
Работа с графическими фигурами Fanat1k Помощь студентам 1 03.05.2007 07:59
Воспроизведение мелодии с геометрическими фигурами Let Помощь студентам 2 27.12.2006 08:03