Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Совпадение центра фигуры с центром ячейки - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Совпадение центра фигуры с центром ячейки (Макросы/Sub)
Совпадение центра фигуры с центром ячейки
КрасноглазыйПиркаф Дата: Понедельник, 06.05.2019, 22:58 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Здравствуйте, братья форумчане (и сестры тоже).

Помогите решить непростую задачу.
Смысл ее такой:
Мелкая фигура в виде стрелочки - ползает по экрану.
Одно срабатывание макроса - равно одному перемещению на одну ячейку.

И тут такое дело, что нужно - чтобы эта мелкая стрелочка - была по центру ячейки. То есть чтобы центр ячейки и центр фигуры - совпадали.
А сейчас они - не совпадают.

Посоветуйте - как изменить макрос, чтобы при каждом перемещении - центр фигуры (стрелки) - совпадал с центром ячейки (размещался бы не по краю ячейки как сейчас, а по ее центру) ?
К сообщению приложен файл: 8880726.xls(66.5 Kb)


Сообщение отредактировал КрасноглазыйПиркаф - Понедельник, 06.05.2019, 22:59
 
Ответить
СообщениеЗдравствуйте, братья форумчане (и сестры тоже).

Помогите решить непростую задачу.
Смысл ее такой:
Мелкая фигура в виде стрелочки - ползает по экрану.
Одно срабатывание макроса - равно одному перемещению на одну ячейку.

И тут такое дело, что нужно - чтобы эта мелкая стрелочка - была по центру ячейки. То есть чтобы центр ячейки и центр фигуры - совпадали.
А сейчас они - не совпадают.

Посоветуйте - как изменить макрос, чтобы при каждом перемещении - центр фигуры (стрелки) - совпадал с центром ячейки (размещался бы не по краю ячейки как сейчас, а по ее центру) ?

Автор - КрасноглазыйПиркаф
Дата добавления - 06.05.2019 в 22:58
bmv98rus Дата: Вторник, 07.05.2019, 07:25 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2165
Репутация: 368 ±
Замечаний: 20% ±

Excel 2013/2016
[vba]
Код
        Case "3"
          sh.Left = sh.BottomRightCell.Offset(-sn, cs).Left + _
            (sh.BottomRightCell.Offset(-sn, cs).Width - sh.Width) / 2
          sh.Top = sh.BottomRightCell.Offset(-sn, cs).Top + _
            (sh.BottomRightCell.Offset(-sn, cs).Height - sh.Height) / 2
        Case "4"
          sh.Left = sh.BottomRightCell.Offset(sn, -cs).Left + _
            (sh.BottomRightCell.Offset(sn, -cs).Width - sh.Width) / 2
          sh.Top = sh.BottomRightCell.Offset(sn, -cs).Top + _
            (sh.BottomRightCell.Offset(sn, -cs).Height - sh.Height) / 2
[/vba]


Замечательный медведь, процентов на 20.
 
Ответить
Сообщение[vba]
Код
        Case "3"
          sh.Left = sh.BottomRightCell.Offset(-sn, cs).Left + _
            (sh.BottomRightCell.Offset(-sn, cs).Width - sh.Width) / 2
          sh.Top = sh.BottomRightCell.Offset(-sn, cs).Top + _
            (sh.BottomRightCell.Offset(-sn, cs).Height - sh.Height) / 2
        Case "4"
          sh.Left = sh.BottomRightCell.Offset(sn, -cs).Left + _
            (sh.BottomRightCell.Offset(sn, -cs).Width - sh.Width) / 2
          sh.Top = sh.BottomRightCell.Offset(sn, -cs).Top + _
            (sh.BottomRightCell.Offset(sn, -cs).Height - sh.Height) / 2
[/vba]

Автор - bmv98rus
Дата добавления - 07.05.2019 в 07:25
КрасноглазыйПиркаф Дата: Вторник, 07.05.2019, 10:14 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
bmv98rus, большое вам спасибо - теперь все хорошо.
 
Ответить
Сообщениеbmv98rus, большое вам спасибо - теперь все хорошо.

Автор - КрасноглазыйПиркаф
Дата добавления - 07.05.2019 в 10:14
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Совпадение центра фигуры с центром ячейки (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!