Используя код Excel и VBA, есть ли способ переместить фигуры в соответствующие им координатные сетки x, y? - PullRequest
0 голосов
/ 10 марта 2020

Я предполагаю, что мне понадобится какой-то способ преобразовать позиции x, y в позиции экрана на сетке, но я не знаю, если это возможно. Кто-нибудь может заставить меня начать или предложить какую информацию искать?

1 Ответ

0 голосов
/ 10 марта 2020

Фигуры имеют свойства Top и Left. Я считаю, что вы знакомы с ними. У фигур также есть свойство с именем TopLeftCell, которое возвращает объект диапазона, то есть ячейку под собственным верхним / левым углом фигуры.

Это позволяет установить свойство TOP фигур относительно ячейки. Top и свойство Left формы относительно левой части ячейки. Свойство TopLeftCell доступно только для чтения, но фигуры свободно перемещаются по рабочему листу. Таким образом, вы можете установить Top формы равным Cells(14, "A").Top, и это движение формы приведет к изменению ее свойства TopLeftCell.

Перемещение формы вокруг может быть отменено из-за ее собственных свойств, Однако. Обязательно установите флажок «Не перемещать или размер с ячейками». Программно вы должны установить для свойства Placement значение =xlFreeFloating, которое в моей версии Excel имеет значение 3, например ActiveSheet.Shapes(1).Placement = xlFreeFloating

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...