excel如何根据公式插入艺术字,如下图,根据A、B列数值(利用公式)得到C列图形

xmxuwenbin 1年前 已收到1个回答 举报

然羽 幼苗

共回答了15个问题采纳率:100% 举报

先在表格中插入两个艺术字,一般默认艺术字的VBA名字是wordart1与wordart2,然后在该工作表的change事件中写入下面代码,就能实时根据A1与B1格内容同步更新艺术字了.
Private Sub Worksheet_Change(ByVal Target As Range)
With Shapes("wordart 1")
.TextEffect.Text = Range("a1")
End With
With Shapes("wordart 2")
.TextEffect.Text = Range("b1")
End With
End Su

1年前 追问

6

xmxuwenbin 举报

表里并不一定就一行数值,能否像其它公式一样往下一拉C列右下角,C列的图形就根据A、B列数值变化而变化,如果A、B列数值一样就不用C列的图形了。

举报 然羽

这段代码是自动更新的,它利用了工作表事件worksheet_change来现实,只要某个单元格的数值被更新,就会自动执行使艺术字更新。 需要几个艺术字就手工添加几个,然后适当增加代码中对应的艺术字部分就行了。

xmxuwenbin 举报

本人水平不高,基本为零,能把第二幅的代码编好传一下吗。

举报 然羽

先在thisworkbook模块中写入下面代码: Private Sub Workbook_Open() '生成艺术字 With ActiveSheet .DrawingObjects.Delete '删除所有形状 s = 2 For i = 1 To 6 Step 2 '生成三组共6个,两两组合 t1 = Cells(s, 1) 'A列取值 t2 = Cells(s, 2) 'B列取值 .Shapes.AddTextEffect(msoTextEffect1, t1, "宋体", 18#, msoFalse, msoFalse, 100, 50 + i * 50).Name = "word" & i .Shapes.AddTextEffect(msoTextEffect1, t2, "宋体", 18#, msoFalse, msoFalse, 120, 70 + i * 50).Name = "word" & (i + 1) .Shapes("word" & i).IncrementRotation 90# '旋转90度 s = s + 1 Next End With End Sub 再在某个放艺术字的工作表模块中放入下面代码: Private Sub Worksheet_Change(ByVal Target As Range) s = 2 For i = 1 To 6 Step 2 Shapes("word" & i).TextEffect.Text = Cells(s, 1) Shapes("word" & i + 1).TextEffect.Text = Cells(s, 2) s = s + 1 Next End Sub 这样就可以使用了。

xmxuwenbin 举报

还是不太明白(本人水平不行,只想学习一点技巧,便于工作),是否方便留下邮箱或QQ联系,本人QQ:67691547
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.023 s. - webmaster@yulucn.com