4个回答
展开全部
在A1中输入:=INT(RAND()*(100-1)+1),定义你的图片库中的图片名为1,2,3一直到99,一共可以定义99张照片,根据你图片的数量作相应修改;
在A2中实现图片随机变换:在你需要的工作表(如sheet1)中插入宏:
Private Sub Worksheet_Calculate()
On Error Resume Next '设置错误处理
Application.ScreenUpdating = False '关闭屏幕刷新
Dim picPath$, str As String
str = Range("A1")
picPath = "C:\Users\think\Desktop\李由上\" & Trim(str) & ".jpg" '定义插入图片的地址,根据你图片放的位置作相应修改
ActiveSheet.Pictures.Insert(picPath).Select
Selection.ShapeRange.Top = Range("A2").Top '定义插入图片的位置
Selection.ShapeRange.Left = Range("A2").Left '定义插入图片的位置,03中可能不一样
With Selection.ShapeRange
.LockAspectRatio = msoFalse '取消图片纵横比锁定
.Height = Range("A2").Height '设置所插入图片的高度与单元格的高度相等
.Width = Range("A2").Width '设置所插入图片的宽度与单元格的宽度相等
End With
End Sub
此程序有缺陷,就是A2中每次随机插入图片后,原有的图片没有删除,是被新图片覆盖,03或10可以解决,07的话有种蹩脚的解决方法,不过程序效果已经达到了。:)
在A2中实现图片随机变换:在你需要的工作表(如sheet1)中插入宏:
Private Sub Worksheet_Calculate()
On Error Resume Next '设置错误处理
Application.ScreenUpdating = False '关闭屏幕刷新
Dim picPath$, str As String
str = Range("A1")
picPath = "C:\Users\think\Desktop\李由上\" & Trim(str) & ".jpg" '定义插入图片的地址,根据你图片放的位置作相应修改
ActiveSheet.Pictures.Insert(picPath).Select
Selection.ShapeRange.Top = Range("A2").Top '定义插入图片的位置
Selection.ShapeRange.Left = Range("A2").Left '定义插入图片的位置,03中可能不一样
With Selection.ShapeRange
.LockAspectRatio = msoFalse '取消图片纵横比锁定
.Height = Range("A2").Height '设置所插入图片的高度与单元格的高度相等
.Width = Range("A2").Width '设置所插入图片的宽度与单元格的宽度相等
End With
End Sub
此程序有缺陷,就是A2中每次随机插入图片后,原有的图片没有删除,是被新图片覆盖,03或10可以解决,07的话有种蹩脚的解决方法,不过程序效果已经达到了。:)
追问
你这个答案我在别人的提问中看过,看不懂,最好是你能给我个现成的例子,做好的表格最好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看这个批量插入图的方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询