ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何用VBA逐字设置形状内插入文字的大小及颜色?

如何用VBA逐字设置形状内插入文字的大小及颜色?

作者:绿色风 分类: 时间:2022-08-17 浏览:131
楼主
biaotiger1
Q:如何用VBA逐字设置形状内插入文字的大小及颜色?
A:右键单击sheet1工作表,弹出快捷菜单→“查看代码”,在代码窗口中输入代码如下:
  1. Sub 逐字设置字体大小及颜色()
  2. With Sheet1.Shapes.AddShape(msoShapeRoundedRectangle, 100, 100, 300, 100)
  3.     .TextFrame2.TextRange.Characters.Text = InputBox("请输入文字,该文字将显示在文本框内", "提示", "我们都是中国人我们都是中国人")
  4.     .TextFrame2.AutoSize = msoAutoSizeShapeToFitText
  5.     For I = 1 To .TextFrame2.TextRange.Characters.Count
  6.         With .TextFrame2.TextRange.Characters(I, 1).Font
  7.             .Size = Rnd * 72
  8.             .Fill.ForeColor.RGB = RGB(Rnd * 255 + 1, Rnd * 255 + 1, Rnd * 255 + 1)
  9.         End With
  10.     Next I
  11. End With
  12. End Sub

运行以上代码,则在sheet1工作表中插入一个圆角矩形,同时弹出提示框提示用户输入文字。输入文字后即可看到圆角矩形内的文字大小及颜色随机设置的效果。
详见附件。
逐字设置字体大小及颜色.rar
2楼
sam.tan
biaotiger版,
为何我在运行该代码时出现“对象不支持该属性或方法”的提示,是不是我的Ex2003版本太低了?

谢谢
3楼
biaotiger1
2003版本代码如下
  1. Sub 逐字设置字体大小及颜色()
  2. With Sheet1.Shapes.AddShape(msoShapeRoundedRectangle, 100, 100, 300, 100)
  3.     .TextFrame.Characters.Text = InputBox("请输入文字,该文字将显示在文本框内", "提示", "我们都是中国人我们都是中国人")
  4.     .TextFrame.AutoSize = True
  5.     For I = 1 To .TextFrame.Characters.Count
  6.         With .TextFrame.Characters(I, 1).Font
  7.             .Size = Rnd * 72
  8.             .Color = RGB(Rnd * 255 + 1, Rnd * 255 + 1, Rnd * 255 + 1)
  9.         End With
  10.     Next I
  11. End With
  12. End Sub
4楼
sam.tan
谢谢biaotiger版主.
5楼
sam.tan
注册过不少网站,真的只有我们这个网很人性,
非常感谢ET的高手们,精英们,

不恃才为傲
有问必答
不辞劳苦



6楼
kevinchengcw
不错的资料

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap