Excel VBA Изменение текста внутри фигур, основанных на диапазоне ячеек
Я сделал большую диаграмму, сделанную фигурами с номерами, хранящимися внутри как текст, и нужно изменить «старые» числа на «новый» диапазон чисел. На каждом из 20 листов есть круги, прямоугольники, левые стрелки и стрелки вправо. Старый диапазон чисел хранится в отдельной таблице в столбце «A» и должен быть изменен на номера, указанные в столбце «B» (как в A1-B1).
Что бы метод VBA изменил старый текст внутри фигур на новый правильный текст, основанный на новом диапазоне чисел? Можно ли написать скрипт, который изменяет значения во всей WorkBook?
Мое неправильное мышление заключается в следующем: 1. Найдите внутри диаграммы, чтобы найти различные формы. 2. Получите текст внутри каждой фигуры. 3. Сравните текст с электронной таблицей со старыми числами. 4. Вставьте новый номер. 5. Переместитесь на следующую фигуру.
Положите значение в A1 и скажите, что у нас уже есть Shape:
Выполнение этого:
Sub LinkCellToShape() Dim sh As Shape Set sh = ActiveSheet.Shapes(1) sh.DrawingObject.Formula = "=A1" End Sub
свяжет текст в форме со значением в ячейке. Вы также можете использовать:
sh.OLEFormat.Object.formula = "=A1"