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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2010, 20:54   #1
Turistovik
Пользователь
 
Регистрация: 19.09.2010
Сообщений: 19
Восклицание Как удалить квадрат программно?

В общем проблема такая:
я создаю на листе квадрат:
Код:
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 0, 230, 115, 115).Select
Selection.ShapeRange.Fill.ForeColor.SchemeColor = k
Selection.ShapeRange.Fill.Visible = msoTrue
Затем мне нужно чтобы при нажатии на этот квадрат вылазил MsgBox(с вопросом)(это я понял как сделать) и при правильном ответе квадрат должен удаляться а при неправильном должен закрашиваться серым цветом, помогите как это сделать?
Turistovik вне форума Ответить с цитированием
Старый 27.09.2010, 21:39   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Код:
Sub Автофигура()
    ActiveSheet.Shapes.AddShape(msoShapeRectangle, 0, 230, 115, 115).Select
    Selection.ShapeRange.Fill.ForeColor.SchemeColor = k
    Selection.ShapeRange.Fill.Visible = msoTrue
    Selection.Name = "Квадрат"
    Select Case MsgBox("Удалить квадрат?", vbYesNo Or vbQuestion Or vbDefaultButton1, "Автофигура")
    Case vbYes
        ActiveSheet.Shapes("Квадрат").Delete
    Case vbNo
        Selection.ShapeRange.Fill.ForeColor.SchemeColor = 22
    End Select
End Sub
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 28.09.2010, 07:13   #3
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Вот так:
Код:
Sub DeleteMe()
    Select Case MsgBox("Удалить квадрат?", vbYesNo Or vbQuestion Or vbDefaultButton1, "Автофигура")
    Case vbYes
        ActiveSheet.Shapes("Квадрат").Delete
    Case vbNo
        ActiveSheet.Shapes("Квадрат").Fill.ForeColor.SchemeColor = 22
    End Select
End Sub

Sub Автофигура()
    With ActiveSheet.Shapes.AddShape(msoShapeRectangle, 0, 230, 115, 115)
        .Fill.ForeColor.SchemeColor = 5
        .Fill.Visible = msoTrue
        .Name = "Квадрат"
        .OnAction = "DeleteMe"
    End With
End Sub
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как программно удалить одну строку из текстового файла(txt)? lexus_samara Общие вопросы Delphi 6 24.04.2010 22:57
программно удалить файлы mbrost Помощь студентам 8 31.03.2010 17:21
Как программно удалить макрос из документа ? Николай IV Microsoft Office Word 14 08.07.2009 17:47
Как программно удалить компонент от формы или другого компонента (контейнера)? SkAndrew Общие вопросы Delphi 3 27.05.2008 15:20
Подскажите как программно удалить все записи Worms БД в Delphi 3 04.03.2008 16:30