Excel高手,如何使得B1中的图片随着A1单元格的值变化而变化?用啥公式?或如何VBA实现?

如果单元格A1的值是1,那么单元格B1里面得到的结果是第1张图片;
如果单元格A1的值是2,那么单元格B2里面得到的结果是第2张图片;
如果单元格A1的值是3,那么单元格B2里面得到的结果是第3张图片;
如果单元格A1的值是4,那么单元格B2里面得到的结果是第4张图片;
如果单元格A1的值是5,那么单元格B2里面得到的结果是第5张图片;
........................
图片里面的内容是人手工写的字。
图片的大小小于B1的单元格,打印出来后,B1单元格的内容看样子是
人手工写的字。
请问如何在B1里面输入公式,或者如何使用VBA实现?

代码放到sheet1中,图片放到和工作簿同一个文件夹中,JPG格式图片如果不是请自行更改代码。

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim R   As Range
    Dim Rn  As Range
    Set R = Intersect(Target, [a1:e8])
    If Not R Is Nothing Then
        Dim Sh  As Worksheet
        Set Sh = Sheets("sheet2")
        f = ThisWorkbook.Path & "\"
        For Each Rn In R
            fp = Dir(f & R.Text & ".jpg")
            If fp <> "" Then
                Sh.Shapes(Rn.Text).Delete
                Sh.Shapes.AddPicture(f & fp, 1, 1, Sh.Range(Rn.Address).Left + 5, _
                    Sh.Range(Rn.Address).Top + 5, Sh.Range(Rn.Address).Width - 10, Sh.Range(Rn.Address).Height - 10).Name = Rn.Text
            End If
        Next
    End If
End Sub追问

其实我的sheet2不是生成的,而是手工添加的

追答

试过我代码了?哪个地方不符合?

追问

在外出差,暂时只能在手机上看你的代码

追答

那你试了再说吧。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-08
VBA的话,参见:
http://tieba.baidu.com/p/3294291403
注:你可能需要结合工作表的Change事件,来运行这个宏。追问

不懂你的回答,我懂一点vba

追答

那个链接,就是在单元格中根据某些条件插入对应图片的代码

追问

要是能用公式就好了,我看了你,你用的是sub,能改写成公式吗?公式的最后返回结果是“”不行吗?(这样就不妨碍图片插入)

追答

公式,不能操作图片这些对象的。

追问

其实我要的是在sheet1中的A1:E8输入单元格内容,然后在sheet2的单元格A1:E8输入对应的图片,你觉得这个sub过程应该如何写?假设所有的图片都已经保存好了,放在了E:/pic这个文件夹里面

相似回答