gpt4 book ai didi

vba - (Excel VBA) 如果单元格值等于 ""则显示/隐藏图像

转载 作者:行者123 更新时间:2023-12-02 07:39:44 24 4
gpt4 key购买 nike

我正在制作一个 Excel 电子表格,当选择下拉框值时,将弹出一个图像,如果选择另一个值,它将隐藏当前图像并弹出与所选内容相关的图像。我发现一些仅使用纸张并使用坐标定位图像的方法太耗时;这并不完全是我想要走的路线。在使用 StackOverflow 之前我已经做了相当多的研究,但到目前为止似乎没有任何效果。以下是我想要实现的目标。我试图将所有图像保留在电子表格中,这增加了另一级挑战,但我相信有一种方法可以做到这一点,因为 excel 在插入 EX 时会为图像分配一个数字。图9.

Sub Main()
If Range(G11).Value = "anything" Then

Picture1 show

Picture2 hide

End If
End Sub

非常感谢任何帮助。谢谢

最佳答案

与其隐藏/移动/减小不需要的图片的大小,为什么不直接删除它呢?

逻辑:将所有图像保存在临时表中。当需要显示相关图片时,从临时表中获取它并删除前一个。

这是一个示例。

Sub Sample()
Select Case Range("G11").Value
Case "Picture 1": ShowPicture ("Picture 1")
Case "Picture 2": ShowPicture ("Picture 2")
Case "Picture 3": ShowPicture ("Picture 3")
Case "Picture 4": ShowPicture ("Picture 4")
End Select
End Sub

Sub ShowPicture(picname As String)
'~~> The reason why I am using OERN is because it is much simpler
'~~> than looping all shapes and then deleting them. There could be
'~~> charts, command buttons and other shapes. I will have to write
'~~> extra validation code so that those shapes are not deleted.
On Error Resume Next
Sheets("Sheet1").Shapes("Picture 1").Delete
Sheets("Sheet1").Shapes("Picture 2").Delete
Sheets("Sheet1").Shapes("Picture 3").Delete
Sheets("Sheet1").Shapes("Picture 4").Delete
On Error GoTo 0

Sheets("Temp").Shapes(picname).Copy

'<~~ Alternative to the below line. You may re-position the image
'<~~ after you paste as per your requirement
Sheets("Sheet1").Range("G15").Select

Sheets("Sheet1").Paste
End Sub

临时表快照

enter image description here

关于vba - (Excel VBA) 如果单元格值等于 ""则显示/隐藏图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9198097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com