Профессиональные приемы работы в Microsoft Excel

Пожалуйста, войдите или зарегистрируйтесь.


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

Новости:

Из правил форума: Тема должна отражать суть вопроса, топики типа "help please" будут удаляться!

Автор Тема: в переменную выделенный Shape  (Прочитано 186 раз)

0 Пользователей и 1 Гость просматривают эту тему.

GWolf

  • Старожил
  • ****
  • Уважение: +50/-0
  • Оффлайн Оффлайн
  • Сообщений: 958

С наступающим Новым годом, друзья!
Всем добра и здоровья!
Есть задача: На листе, находится Круг, созданный через Панель рисования. Я его выделяю мышкой и ... хотелось бы, чтобы этот объект передавался в переменную.
Но, не получается. Может кто знает, как это сделать?
Записан
Путей к вершине - множество. Этот один из многих!

GWolf

  • Старожил
  • ****
  • Уважение: +50/-0
  • Оффлайн Оффлайн
  • Сообщений: 958
Re: в переменную выделенный Shape
« Ответ #1 : 01.01.2022, 15:07:56 »

Теперь уже с Наступившим!
Решил задачу вот так:    Dim s1 As Object
    Set s1 = ActiveWindow.Selection.ShapeRange

ну т.е.: Sub test()
    Dim s1 As Object
    Dim zn%
   
    '==================
    '
    'вот сюда нужно бы организовать проверку на выделено или
    'не выделено что либо на листе из Shape - объектов
    'И если ничего не выделено, то и Exit Sub
    '
    '==================

    Set s1 = ActiveWindow.Selection.ShapeRange

    With s1
        MsgBox "Выделен рисованый объект:" & Chr(10) & _
               " - имя: " & .Name & Chr(10) & _
               " - надпись: " & .TextEffect.Text & Chr(10) & _
               " - тип объекта: " & .Type & Chr(10) & _
               "Размещение:" & Chr(10) & _
               "  - вниз = " & .Top & Chr(10) & _
               "  - в право = " & .Left & Chr(10) & _
               "Размеры объекта:" & Chr(10) & _
               "    - высота = " & .Height & Chr(10) & _
               "    - длина = " & .Width, vbInformation + vbOKOnly, ""
    End With
   
    zn = CInt(InputBox(Prompt:="Я могу Повернуть объект." & Chr(10) & _
                               "Укажите градус поворота: ", Title:="", Default:="0"))
    If zn = 0 Then
        Exit Sub
    Else
        s1.Rotation = zn
    End If
End Sub
но, есть еще вопрос: если ни одна фигура не выбрана - выдает ошибку.
Как решить, пока не знаю. Может кто подскажет?
« Последнее редактирование: 01.01.2022, 15:16:20 от GWolf »
Записан
Путей к вершине - множество. Этот один из многих!

GWolf

  • Старожил
  • ****
  • Уважение: +50/-0
  • Оффлайн Оффлайн
  • Сообщений: 958
Re: в переменную выделенный Shape
« Ответ #2 : 03.01.2022, 17:14:16 »

Доброго времени суток, друзья!
Нашел я, таки решение:
Sub test()
    '==================
    '
    'вот сюда нужно бы организовать проверку на выделено или
    'не выделено что либо на листе из Shape - объектов
    'И если ничего не выделено, то и Exit Sub
    '
    '==================
    If TypeName(Selection) = "Range" Then MsgBox "Не выбран ни один рисованный объект.", vbCritical + vbOKOnly, "Аварийный выход!": Exit Sub
   
    Dim s1 As Object: Dim zn As Variant
   
    Set s1 = ActiveWindow.Selection.ShapeRange
    ...
проверил, вроде работает.
Записан
Путей к вершине - множество. Этот один из многих!

nilem

  • Постоялец
  • ***
  • Уважение: +69/-0
  • Оффлайн Оффлайн
  • Сообщений: 346
Re: в переменную выделенный Shape
« Ответ #3 : 11.01.2022, 08:13:36 »

или типа такого:
If TypeName(Selection) = "Oval" Then MsgBox "Выбран круг"
Записан
 



Темы без ответов

09.08.2019 14:09 Макрос для заполнения таблиц через форму 4543
18.07.2019 16:02 Рассылка почты из Excel при помощи почтовой программы TheBAT! 4076
28.05.2019 21:09 Сделать несколько скриптов для рабочей таблицы 5568
05.03.2019 09:29 Нежелательные изменение размеров колонтитула при редактировании 4485
07.02.2019 01:36 Как удалить дубликаты из выпадающего связанного списка? 5581
03.03.2018 00:00 Подсчет отработанного времени, за исключением заранее определенных перерывов 2783
23.01.2018 13:46 Найти вероятность повторной покупки 2558
12.01.2018 23:56 Сделать отчет на Power BI (Dashboard) 3548
06.09.2017 10:43 Solver VBA не решает гиперболическое уравнение, но при этом решает гармоническое 2432
17.08.2017 12:15 Гиперссылка и фильтр одновременно макрос 2877





Яндекс цитирования msexcel.ru Яндекс.Метрика

Страница сгенерирована за 0.213 секунд. Запросов: 104.