Excel VBA基于一系列单元格更改形状内的文本

时间:2015-10-17 23:47:31

标签: excel vba excel-vba

我制作了一个由形状制作的大图,其中数字存储在文本中,需要更改" old"数字到"新"数字范围。在20张纸上的每一张纸上都有圆形,矩形,左箭头和右箭头。旧的数字范围存储在Column" A"中的单独电子表格中。并且需要更改为列" B"中列出的数字; (如A1至B1)。

根据新的数字范围,VBA方法将Shapes中的旧文本更改为新的正确文本是什么?是否可以编写一个更改整个WorkBook中值的脚本?

我的错误思维方式是: 1.在图表中搜索以查找各种形状。 2.在每个形状内部获取文本。 3.将文本与电子表格与旧数字进行比较。 4.插入新号码。 5.移动到下一个形状。

1 个答案:

答案 0 :(得分:0)

A1 中加上一个值,并说我们已经有了一个Shape:

enter image description here

运行此:

Sub LinkCellToShape()
   Dim sh As Shape
   Set sh = ActiveSheet.Shapes(1)
   sh.DrawingObject.Formula = "=A1"
End Sub

会将形状中的文本链接到单元格中的值。你也可以使用:

sh.OLEFormat.Object.formula = "=A1"