ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E文精选 > 综合应用 > 动态引用图片的制作教程

动态引用图片的制作教程

作者:绿色风 分类: 时间:2022-08-17 浏览:150
楼主
gouweicao78
作品:见附件
根据下拉菜单自动改变生肖图片.rar

功能:根据下拉菜单自动改变生肖图片

19楼补充VBA做法的代码解释:
2楼
gouweicao78
1、制作生肖对应表,如图:将各种生肖图案插入Excel表中,A列输入对应的生肖名称,完成附件中的Sheet1表。

 

2、在【图片引用】表B1:B12输入十二生肖的以便作为下拉菜单的数据源。
3、从“开发工具”选项卡中“插入”表单控件里(相当于Excel2003的“窗体”工具栏)的“组合框”,如图:

 

4、设置组合框控件格式→控制→选择数据源区域为B1:B12,链接单元格为A1。

 


按住Atl键将组合框拖动到A1做成合适大小。那么此时下拉菜单已经做成了,选择“虎”,则A1的值将是3,表示下拉框引用了B1:B12的第3个数据。

注:此步可用数据有效性→序列来制作。
5、按CTRL+F3,定义名称:
生肖=INDEX(Sheet1!$B:$B,图片引用!$A$1),引用前面下拉框对应的图片。
注意:生肖与图片顺序要相同,否则用INDEX+MATCH来定位,如果A1是用数据有效性来做下拉菜单,也得用MATCH来定位),同理可以定义其他列的名称。
6、从“开发工具”中插入Active 控件(相当于Excel2003的控件工具箱)中的图片、标签、文本框甚至按钮等控件,将编辑栏中自动出现的公式改为:=生肖,则该控件自动显示为相应的图片。然后调整图片的大小及位置,同理可做出其他动态图片来。

 



小技巧
:在插入图片或控件时,按住Alt键并拖动对象的边框,可以快速调整尺寸适应单元格大小。
3楼
anynoe
非常感谢 我顶顶顶
4楼
anynoe
我太笨了 这样照着都不会做
5楼
gvntw
可以简单点,不用定义那么多名称,也不用那么多控件,都一个就够了。
pic=OFFSET(Sheet1!$B$1:$F$1,图片引用!$A$1-1,)
插入一个控件,如命令按钮,在编辑栏改=pic,前面的步骤同楼主。
根据下拉菜单自动改变生肖图片.rar
6楼
anynoe
这里的版主和总版主真的很热心!能很快的回答提出来的问题!我希望网站越来越好!这样的总版主、版主越来越多!
7楼
habf2008
谢谢分享O(∩_∩)O~
8楼
冰风萧萧
嗯嗯,很好
9楼
BIN_YANG168
这个不占用表格空间:
http://www.exceltip.net/thread-1802-1-1.html
10楼
xyz
一个常规做法,一个新方法,学习!!!
11楼
春雷
这条被我漏掉了,很经典!

12楼
zhulinhappy
笨笨猪非常感谢老师的贡献!!!
13楼
无心为爱
版主解释的很详细,画面做的也很直观,辛苦了!
感谢分享!~
14楼
ljx63426
这里的版主和总版主真的很热心!多谢你们了!
15楼
jake6633
来学习  学习   好想看看
16楼
wu_
哎,差距咋这么大咧
17楼
fraway
好 不知道在2003的能不能用
18楼
happyhaoo
真的很好,谢谢楼主
19楼
gouweicao78
使用简单的VBA代码,确实很不错。应会员提问,代码释义如下:
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.   '设定一个WorkSheet_change事件程序,当工作表上的选定区域发生改变时发生此事件。
  3.     If Target.Address <> "$C$2" Then Exit Sub
  4.       '如果单元格区域不是C2,则退出程序
  5.     On Error Resume Next    '如果出错就退出
  6.     ActiveSheet.Shapes("pic").Select         '活动工作表中的pic被选中(即图片元素)
  7.     Selection.ShapeRange.Fill.UserPicture _  
  8.         ThisWorkbook.Path & "\" & Range("C2").Value & ".jpg"
  9. '被选中的图片元素用该工作簿所在目录下的与C2单元格同名的jpg格式图片填充。
  10.     ActiveCell.Select
  11. End Sub


【要求】
1、图片与该工作簿要放在同一目录;否则就修改代码中的路径。
2、图片命名必须与C2单元格中使用的一致,并且格式为jpg,否则就修改代码中的文件后缀名。
20楼
旋转木马009
先学习一下,谢啦
21楼
gouweicao78
作品:见附件
根据下拉菜单自动改变生肖图片.rar

功能:根据下拉菜单自动改变生肖图片

19楼补充VBA做法的代码解释:
22楼
gouweicao78
1、制作生肖对应表,如图:将各种生肖图案插入Excel表中,A列输入对应的生肖名称,完成附件中的Sheet1表。

 

2、在【图片引用】表B1:B12输入十二生肖的以便作为下拉菜单的数据源。
3、从“开发工具”选项卡中“插入”表单控件里(相当于Excel2003的“窗体”工具栏)的“组合框”,如图:

 

4、设置组合框控件格式→控制→选择数据源区域为B1:B12,链接单元格为A1。

 


按住Atl键将组合框拖动到A1做成合适大小。那么此时下拉菜单已经做成了,选择“虎”,则A1的值将是3,表示下拉框引用了B1:B12的第3个数据。

注:此步可用数据有效性→序列来制作。
5、按CTRL+F3,定义名称:
生肖=INDEX(Sheet1!$B:$B,图片引用!$A$1),引用前面下拉框对应的图片。
注意:生肖与图片顺序要相同,否则用INDEX+MATCH来定位,如果A1是用数据有效性来做下拉菜单,也得用MATCH来定位),同理可以定义其他列的名称。
6、从“开发工具”中插入Active 控件(相当于Excel2003的控件工具箱)中的图片、标签、文本框甚至按钮等控件,将编辑栏中自动出现的公式改为:=生肖,则该控件自动显示为相应的图片。然后调整图片的大小及位置,同理可做出其他动态图片来。

 



小技巧
:在插入图片或控件时,按住Alt键并拖动对象的边框,可以快速调整尺寸适应单元格大小。
23楼
anynoe
非常感谢 我顶顶顶
24楼
anynoe
我太笨了 这样照着都不会做
25楼
gvntw
可以简单点,不用定义那么多名称,也不用那么多控件,都一个就够了。
pic=OFFSET(Sheet1!$B$1:$F$1,图片引用!$A$1-1,)
插入一个控件,如命令按钮,在编辑栏改=pic,前面的步骤同楼主。
根据下拉菜单自动改变生肖图片.rar
26楼
anynoe
这里的版主和总版主真的很热心!能很快的回答提出来的问题!我希望网站越来越好!这样的总版主、版主越来越多!
27楼
habf2008
谢谢分享O(∩_∩)O~
28楼
冰风萧萧
嗯嗯,很好
29楼
BIN_YANG168
这个不占用表格空间:
http://www.exceltip.net/thread-1802-1-1.html
30楼
xyz
一个常规做法,一个新方法,学习!!!
31楼
L_Yang136
谢谢版主的分享,很好的学习资料。
正用上...类似的...
好好学习ing。
32楼
libai8
我太笨了 这样照着都不会做
33楼
勤快的猫
学习了
谢谢
34楼
chende
正在学习中。谢谢哟。
35楼
cheng09
,kuaidianrangwokankan
36楼
carey116
不会搞,笨了
37楼
wfhedy
顶  哦是小白 来学习的
38楼
皮皮1998
学习了,好贴耶!
39楼
omnw
制作成功,此方法的关键是利用了ActiveX控件可以引用单元格的值。
40楼
herenqing
这里的版主和总版主真的很热心!能很快的回答提出来的问题!我希望网站越来越好!这样的总版主、版主越来越多!
41楼
皮皮1998
学习了,好贴耶!
42楼
omnw
制作成功,此方法的关键是利用了ActiveX控件可以引用单元格的值。
43楼
herenqing
这里的版主和总版主真的很热心!能很快的回答提出来的问题!我希望网站越来越好!这样的总版主、版主越来越多!
44楼
lohas
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address <> "$d$2" Then Exit Sub
    On Error Resume Next
    ActiveSheet.Shapes("pic").Select
    Selection.ShapeRange.Fill.UserPicture _
        ThisWorkbook.Path & "\" & Range("d2").Value & ".jpg"
    ActiveCell.Select
End Sub

已照网上的做了,图片也放在同目录下,取名与d2的名称一样,为什么图片还是不变的?其它数据都跟着变了。
45楼
lohas
图片还是不能变动,见附件,是哪里问题吗。

zzz.rar
46楼
aob
这里的版主和总版主真的很热心!能很快的回答提出来的问题!我希望网站越来越好!这样的总版主、版主越来越多!
47楼
悟空师弟
学习了,感谢草版
48楼
gouweicao78


你做的pic,实际上是插入了s10041.jpg。
这个代码的原理,是利用“颜色填充”→使用图片来填充一个空的图形控件,比如,插入一个矩形,然后把"pic"换成矩形对应的名称。
49楼
sh10001
下载学习了,多谢
50楼
rolex518
haohoa
51楼
沧海巫山
终于弄明白了,是插入一个矩形,不是插入一个图片,谢谢老师指点
52楼
沧海巫山
还有个问题是如何更改照片路径,我不会VBA,搞不掂
53楼
萤火虫-2010
十会感谢老师
54楼
sunkgl
收藏学习了,谢谢楼主分享
55楼
LoveJinLee
看来要搞会VBA,要学的东西很多。

至少有些部分要怎么巧用,就必须先熟悉excel里有哪些部分,比如颜色填充,矩形等等,是可以用VBA编辑的
56楼
china_yilong
精品
57楼
chende88
Private Sub Worksheet_Change2(ByVal Target As Range)
    Dim Pic As String
    Dim myPath As String
    If Target.Address = [c2].Address Then
        myPath = ThisWorkbook.Path & "\..\身份证\"
        Pic = Dir(myPath & Target & "*.bmp")
        If Pic = "" Then
            Image1.Picture = LoadPicture(myPath & "NoSearch.bmp")
        Else
            Image1.Picture = LoadPicture(myPath & Pic)
            Image1.PictureSizeMode = fmPictureSizeModeStretch
        End If
    End If
End Sub
能解释一下吗?谢谢!
58楼
健康快乐123
各种方法可以达到同一个目的,学习了
59楼
健康快乐123
还是人多力量大啊,方法都很好,值得学习
60楼
亡者天下
做个记号,回头好好学习!
61楼
mimeitakashi
急需这个图片的链接方法,谢谢
62楼
杨阳1288
感谢分享 学习中 呵呵
63楼
win768
学学使用方法
64楼
liook
非常感谢 我顶
学习了
65楼
thr00714
不错,很适用
66楼
yaomingcong
按照楼主的做法,做到最后一步,为什么提示我引用无效呢?
67楼
eliane_lei
先留个脚印,慢慢消化!
68楼
qys0418
yy谢谢,谢谢奉献
69楼
m_sampdoria
佩服,好好学习一下
70楼
じ☆潴の︵ゞ
太好了
71楼
oldzhao
非常感谢·!
72楼
muyongjian
东西都挺好的,又学了一招,呵呵
73楼
Solomon
谢谢分享O(∩_∩)O~
74楼
清风不语
老师显示图片用那个控件?且那个图像控件怎设置不了?
75楼
amylee
收藏,学习,谢谢!
76楼
rongyun
学习下。
77楼
冰·封
新手特来学习  完善我的会员管理
78楼
Vast
非常感谢,喜欢函数的。不用设置宏安全级别。
79楼
尚蠡
henhao hen qiang ada
80楼
563010765
学习了  
81楼
oldzhao
非常感谢·!
82楼
muyongjian
东西都挺好的,又学了一招,呵呵
83楼
Solomon
谢谢分享O(∩_∩)O~
84楼
清风不语
老师显示图片用那个控件?且那个图像控件怎设置不了?
85楼
amylee
收藏,学习,谢谢!
86楼
rongyun
学习下。
87楼
冰·封
新手特来学习  完善我的会员管理
88楼
Vast
非常感谢,喜欢函数的。不用设置宏安全级别。
89楼
尚蠡
henhao hen qiang ada
90楼
563010765
学习了  

免责声明

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

评论列表
sitemap