用VBA根据单元格值动态改变图片
导读:在Excel中通过改变单元格的值来更换图片,通常需要把图片插入到工作簿中,再用公式来更换。该方法在图片较多时有些不便,这时可用VBA代码来进行图片更换,而无需插入这些图片。
在Excel中通过改变单元格的值来更换图片,通常需要把图片插入到工作簿中,再用公式来更换。该方法在图片较多时有些不便,这时可用VBA代码来进行图片更换,而无需插入这些图片。步骤如下:
1.将所有图片放在一个文件夹中,在下面的示例代码中,图片所在文件夹名称为“图片文件夹”,并将该文件夹与工作簿放置在一起。
2.在工作表中插入一个图片,设置其位置和大小,然后选择该图片,在Excel界面右上角的名称框中输入一个名称后按回车键。在下面的示例代码中,将图片名称设置为“图片 1”。
3.在工作表中选择某个单元格,如下面的示例代码中的“J4”单元格。用设置数据有效性的方法制作一个下拉列表,这样就可以通过下拉列表选择来某个图片名称。
4.按Alt+F11,打开VBA编辑器,在代码窗口中粘贴下面的代码。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$J$4" Then
Dim Pic As Object, PicPathAndName As String, PicFolder As String
Dim PicT As Integer, PicL As Integer, PicH As Integer, PicW As Integer
'图片文件夹名称
PicFolder = "图片文件夹"
'所选图片路径
PicPathAndName = ThisWorkbook.Path & "\" & PicFolder & "\" & Range("J4") & ".jpg"
Set Pic = ActiveSheet.Shapes("图片 1")
'原图片的位置和大小
With Pic
PicT = .Top
PicL = .Left
PicH = .Height
PicW = .Width
End With
'删除原图片
Pic.Delete
'插入所选图片
Set Pic = ActiveSheet.Shapes.AddPicture(Filename:=PicPathAndName, LinkToFile:=msoFalse, _
SaveWithDocument:=msoTrue, Left:=PicL, Top:=PicT, Width:=PicW, Height:=PicH)
'设置图片名称
Pic.Name = "图片 1"
End If
Set Pic = Nothing
End Sub
这样,当在J4单元格中选择不同的图片名称后,工作表中的图片会自动调用图片文件夹中图片进行更换。
- 上一篇: 常见科目凭证抽查应注意的问题
- 下一篇: Excel 2007可用图表类型之面积图

- 应收票据属于现金流量表吗 2025-12-21
- 高铁票的发票类型是什么 2025-12-18
- 一般风险准备金的计提标准是多少 2020-06-07
- 专项附加扣除报送失败的原因 2020-02-22
- 印花税缴纳时四舍五入如何记账 2020-07-01
- 收款凭证付款凭证必须由出纳签字吗 2020-05-19
- 更正申报影响纳税信用等级吗 2020-03-11
- 尚未收回的销货款属于什么会计科目 2025-12-18
- 银联无卡快捷支付平台待清算款项什么意思 2020-03-23
- 取得投资收益收到的现金包括哪些内容 2020-04-07
- 失业保险稳岗资金返还怎么记账,是直接记营业外收入?还是记递延收益呢?两者有啥区别啊? 2019-11-29
- 甲公司为一般纳税人,业务如下:( 1 ) 2019年9月1日向乙公司销售一 批产品款为1500 000元( 150万) , 尚未收到,已办妥收手续,适用的增值税税率为13% ( 150万x13%=19.5万)。销次说一文甲公司应编制如下会计分录: 2019-11-27
- 某企业现金盘点时发现库存现金短缺351元,经核准需由出纳员赔偿200元,其余短缺无法查明原因,关于现金短缺相关会计科目处理正确的是什么 2019-11-22
- 企业已有固定资产价值960万元,已经计提折旧320万元,其中上月已经提足折扣旧额人继续使用60万元,另一台设备上月已经达到预计可使用状态尚未投入使用的20万元,采用年限平均法提折旧,月折旧率为1%,当月计提的折旧额是多少? 2019-12-19
- 某企业因管理不善丢失了一台笔记本电脑,购入时原价10000元,增值税进项税额额1300元,进项税额已认证并抵扣,企业作为固定资产核算。截至丢失时,已计提折旧额3000元,收到责任人赔偿2000元。应计入营业外支出的金额为多少? 2019-11-24
- 银行卡的钱被银联转账到银联无卡支付待清算暂收资金专户 是什么意思? 2019-12-14
- 12.某人拟在5年后还清50000元的债务,假设从现在开始每年年末等额存入银行一笔款项,银行存款利率为10%,已知(A/F,10%,5)=0.1638,则每年年末存入( )元。 A.10000 B.8190 C.9000 D.9347.28 这题的解析没有看懂,请教一下老师 2019-12-20
- 3.甲公司系增值税一般纳税人,销售设备适用的增值税税率为13%,2019年8月31日以不含增值税的价格100万元售出2013年购入的一台生产用机床,增值税销项税额为13万元,该机床原价为200万元(不含增值税),已计提折旧120万元,已计提减值30万元。不考虑其他因素,甲公司处置该机床的利得为( )万元。 2020-03-11
- 甲公司和乙公司均为增值税一般纳税人,适用的增值税税率为13%(存货)、9%(不动产)。甲公司为适应经营业务发展的需要,经与乙公司协商,进行资产置换,资料如下: (1)甲公司换出: ①厂房:账面价值为1 200万元(成本1 500万元、累计计提折旧300万元);公允价值为1 000万元,销项税额为90万元; ②投资性房地产:账面价值为500万元(成本为400万元、公允价值变动100万元,此外自用房地产转换为投资性房地产时产生的其他综合收益100万元);公允价值为600万元,销项税额为54万元; 2020-03-31
- 抖音小店提现只能提到对公账户里面吗? 2019-12-19