у меня ок. 100 прямоугольников на листе. Я хочу изменить цвет определенного прямоугольника, для которого я знаю его TopLeftCell
координаты.
Я хочу иметь возможность непосредственно выбрать этот прямоугольник, чтобы изменить его цвет, но я не могу найти какой-либо код VBA для этого. В настоящее время единственный код, который я могу найти, выбирает все фигуры на листе, а затем ищет пересечение каждой фигуры на листе с помощью TopLeftCell
, чтобы затем выбрать этот прямоугольник, чтобы изменить его цвет.
С проверкой, возможно, 100 фигур, этот метод кажется очень неэффективным, и я думаю, что должен быть лучший способ.
Dim sh as shape
For Each sh In ActiveSheet.Shapes
If Not Intersect(Cells(RowNumber, ColumnNumber), sh.TopLeftCell) Is Nothing Then
sh.Select False
Selection.Interior.ColorIndex = 3
Selection.ShapeRange.Fill.Visible = msoTrue
Selection.ShapeRange.Fill.Solid
End If
Next sh
Интересно, будет ли такой код, как
selection.shape.topleftcell(cells(RowNumber,ColumnNumber))
или аналогичный возможен в VBA.
Я пробовал этот и другой подобный код, но все выдают ошибки.