03.03 利用VBA代码让图形移动、旋转

大家好,世界各地,疫情施虐。疫情过后会是什么?对于后疫情时代大家很难预测,或许是供应链的断裂,经济下行的压力加大,但可以肯定的是会催生新的经济增长点。在今后更加严峻的存量残杀世界中,对于我们每个人,要尽可能多学习有用的知识,为自己充电。知识的储备,特别是新知识的储备是我们为后疫情时代做的必要准备。

今日继续和大家分享VBA编程中常用的常用"积木"过程代码。这些内容大多是我的经验和记录,来源于我多年的经验。今日分享的是NO.236,内容是:

NO. 236:利用VBA代码实现图片在工作表中移动、旋转

利用VBA代码让图形移动、旋转

VBA过程代码236:利用VBA代码实现图片在工作表中移动、旋转

Sub Mynz ()

Dim i As Long

Dim j As Long

Dim T As Long

For i = 1 To 180 Step 5

Sheets("120").Shapes(1).Top = Sin(i * (3.14 / 180)) * 100

Sheets("120").Shapes(1).Left = Cos(i * (3.14 / 180)) * 100

Sheets("120").Shapes(1).Fill.ForeColor.RGB = i * 55

For j = 1 To 10

Sheets("120").Shapes(1).IncrementRotation -2

DoEvents

Next

Sheets("120").Shapes(2).Top = Sin(i * (3.14 / 180)) * 100

Sheets("120").Shapes(2).Left = Cos(i * (3.14 / 180)) * 100 + 400

Sheets("120").Shapes(2).Fill.ForeColor.RGB = i * 55

For j = 1 To 10

Sheets("120").Shapes(2).IncrementRotation -2

DoEvents

Next

Sheets("120").Shapes(3).Top = Sin(i * (3.14 / 180)) * 100 + 200

Sheets("120").Shapes(3).Left = Cos(i * (3.14 / 180)) * 100 + 100

Sheets("120").Shapes(3).Fill.ForeColor.RGB = i * 55

For j = 1 To 10

Sheets("120").Shapes(3).IncrementRotation 2

DoEvents

Next

Next

End Sub

利用VBA代码让图形移动、旋转

代码解析:Mynz过程实现移动、旋转工作表中的图片并不断改变其填充的前景色。运行Mynz过程,工作表的图形在自身进行逆时针方向旋转的同时沿着一个圆形的弧度进行移动,并不断改变其填充的颜色。通过代码分别给三个图形:设置图片的Top属性值,设置图片的Left属性值,应用于Shape对象的Left属性设置图形从左边截至 A 列左边界(在工作表中)或图表区左边界(在图表工作表中)的距离。在循环的过程中使用Cos函数将Left属性值设置为一个圆形的弧度值。代码设置图片填充的前景色随着循环的过程不断的变化。使用Fill属性返回一个FillFormat对象,FillFormat对象代表图形的填充格式,其ForeColor 属性设置对象填充的前景色。其中使用DoEvents函数转让控制权,否则达不到预计的视觉效果。

利用VBA代码让图形移动、旋转

VBA是利用OFFICE实现自己小型办公自动化的有效手段,我根据自己20多年的VBA实际利用经验,总结了四部VBA学习资料,是我"积木编程"思想的体现。

第一:VBA代码解决方案,是VBA中各个知识点的讲解,覆盖了绝大多数的知识点;

第二:VBA数据库解决方案,是数据处理的专业利器,介绍利用ADO连接ACCDB,EXCEL。

第三:VBA数组与字典解决方案,讲解VBA中的数组和字典的利用。

第四:VBA代码解决方案之视频,是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能。

VBA真的非常实用,希望大家掌握这个工具,利用这个工具,让自己在工作中轻松,高效,快乐。为后疫情时代做好知识的储备。


分享到:


相關文章: