VBA — произвольное рисование по ячейкам, возврат значений в последовательности
GBagley
Обычная доска
- #1
Вот забавно. Я хочу иметь возможность произвольной формы (по крайней мере, несколько, прямые углы были бы в порядке) рисовать через ряд ячеек, а затем возвращать код (по порядку) значения из каждой из ячеек, через которые проходил рисунок.
Я записал макрос при рисовании волнистой линии через некоторые ячейки, ниже приведен пример того, что это дало.
Код:
С ActiveSheet.Shapes.BuildFreeform (msoEditingAuto, 5071.0714173228, _ 2186.7857480315) .AddNodes мсосегменткурве, мсоедитингауто, 5070.7142519685, 2196.7857480315, _ 5070.8795275591, 2206.8181102362, 5070, 2216.7857480315 .AddNodes мсосегменткурве, мсоедитингауто, 5069.801496063, 2219.0357480315, _ 5068.451496063, 2221.0351181102, 5067.8571653543, 2223.2142519685 .AddNodes мсосегменткурве, мсоедитингауто, 5066.7245669291, 2227.3671653543, _ 5066.215511811, 2233.1327559055, 5065.7142519685, 2237.1428346457 .AddNodes мсосегменткурве, мсоедитингауто, 5066.0714173228, 2248.9285826772, _ 5060.7659055118, 2262.3613385827, 5066.7857480315, 2272.5 .AddNodes msoSegmentCurve, msoEditingAuto, 5070.0728346457, 2278.0361417323
Я полагаю, что это координаты левой/верхней ячейки того места, где рисунок находился на экране? Если это правда, то как мне перебрать каждую координату, преобразовать их в адреса ячеек и затем получить все соответствующие значения? Есть ли более простой способ сделать это?
Я подумал, что более простым решением будет событие изменения worksheet_selection, подобное следующему:
Код:
Private Sub Worksheet_SelectionChange (ByVal Target As Range) Листы(1).