广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    Excel选择单元格时显示相应的图片

    来源:网络收集  点击:  时间:2024-02-22
    【导读】:
    最近有人在问,Excel表格上面选择A列的某一个单元格时能否在G1单元格显示出相应的图片。这个虽然不能使用函数公式来处理,但可以使用VBA程序来执行想要的功能,下面就分享一下使用VBA程序执行相应功能的方法。工具/原料more计算机Excel 2010方法/步骤1/7分步阅读

    打开Excel表格文档,点击【开发工具】、【Visual Basic】打开VBA编辑器,也可以使用【Alt+F11】组合键打开VBA编辑器。

    2/7

    在VBA编辑器左侧的工程项目下面双击“Sheet1”,然后输入以下程序代码:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range) 单元格变更选择时执行

    Application.EnableEvents = False 开启代码只执行一次

    Dim i, cou1, arr, str

    On Error Resume Next 忽略运行出现的错误

    Application.ScreenUpdating = False 关闭工作表更新,提高运行速度

    Set mysheet1 = ThisWorkbook.Worksheets(Sheet1)

    cou1 = mysheet1.Shapes.Count 统计工作表里边图形数量

    mysheet1.Cells(1, 7) = 清空G1单元格里面的数值

    If cou1 0 Then 如果图形数量大于1,则执行

    For i = 1 To cou1

    If mysheet1.Shapes(i).Top = mysheet1.Cells(1, 7).Top And _

    mysheet1.Shapes(i).Left = mysheet1.Cells(1, 7).Left Then

    mysheet1.Shapes(i).Delete 如果是图形的位置,则删除图形

    End If

    Next

    End If

    If Target.Column = 1 And Target.Columns.Count = 1 And Target.Value Then

    如果选择第一列且只有1个单元格(不为空白),则执行

    arr = Array(.jpg, .jpeg, .png, .bmp, .gif, .tif) 图片格式集合

    For Each x In arr 执行图片格式组里面的每一个尝试

    str = D:\图片文件\ Target.Value x 图片路径

    If Dir(str) Then 如果图片存在,则执行

    mysheet1.Pictures.Insert(str).Select 插入图片

    With Selection.ShapeRange

    .LockAspectRatio = msoFalse 不锁定图片的比例

    .Height = mysheet1.Cells(1, 7).Height 图片的高度设为单元格高度

    .Width = mysheet1.Cells(1, 7).Width

    .Top = mysheet1.Cells(1, 7).Top 图片的位置为单元格G1到顶部的距离

    .Left = mysheet1.Cells(1, 7).Left 图片的位置置为单元格G1到左侧的距离

    End With

    Exit For 导入图片后,退出For循环

    Else

    mysheet1.Cells(1, 7) = 相片不存在 否则将显示照片不存在

    End If

    Next

    End If

    Target.Select 追踪单元格选择

    Application.EnableEvents = True 恢复代码只执行一次

    Application.ScreenUpdating = True 恢复更新显示

    End Sub

    3/7

    回到Excel工作表界面,选择A列的单元格时,将会在G1单元格显示出相应的图片,实现想要的功能。

    4/7

    如果写入代码之后点击工作表格时没有执行,检查一下Excel表格是否已经启用了宏。宏的启用/查看方法为:

    (1)点击【文件】、【选项】;

    (2)点击【信任中心】、【信任中心设置】;

    (3)点击【宏设置】,选择“启用所有宏”并点击【确定】,关闭工作薄之后重新打开,选择相应的单元格将会看到执行的结果。

    5/7

    由于每次插入图片的名称都会改变,此时不可能从名称上面入手,只能从插入图片的位置判断并把它删除。当然也不能全部删除,毕竟表格上面可能还有其他图片存在。

    6/7

    通过判断是否选择了A列的单元格,再决定是否需要查找相应的图片并插入,以提高工作表的响应速度。

    7/7

    图片的路径通常由文件夹路径+文件名称+文件格式构成,文件夹路径相对固定,但图片名称会随着单元格的选择而改变,其改变之后,需要找到与之相匹配的格式才算是完整的路径,图片文件才可以插入。

    注意事项

    个人经验,仅供参考。

    EXCEL软件
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_97959.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 18:03:21  耗时:0.023
    0.023s