前天收到一位网友的求助,要求单击工作表中所放置的图片后,图片能自动变化,觉得很有意思。这样的操作不使用VBA可能无法完成,研究了一下,决定使用“标签”控件和“图像”控件来实现。初步写了一下代码,贴出来供大家参考,这里只是提供一个思路,可能有更好的解决办法,代码也可以优化。 操作步骤: 1、在工作表中放置一个标签控件,用于显示图片;在工作表中放置若干个图像控件,用于存放要显示的图片。 2、在图像控件中放置图片。 3、在ThisWorkbook代码模块中输入下面的代码: Private Sub Workbook_Open() Sheets("显示图片").Label1.Picture = Sheets("图片库").Image1.Picture Sheets("显示图片").Range("E1").Value = "图片一" End Sub 注:我将显示图片的工作表命名为“显示图片”,将放置图片的工作表命名为“图片库”。这段代码用来在工作簿打开时,初始化标签控件,即在标签控件中放置图片并在相应单元格中显示信息。 4、双击标签控件,输入下面的代码在“显示图片”工作表代码模块中: Private Sub Label1_Click() If Label1.Picture = Sheets("图片库").Image1.Picture Then Label1.Picture = Sheets("图片库").Image2.Picture Sheets("显示图片").Range("E1").Value = "图片二" ElseIf Label1.Picture = Sheets("图片库").Image2.Picture Then Label1.Picture = Sheets("图片库").Image3.Picture Sheets("显示图片").Range("E1").Value = "图片三" ElseIf Label1.Picture = Sheets("图片库").Image3.Picture Then Label1.Picture = Sheets("图片库").Image4.Picture Sheets("显示图片").Range("E1").Value = "图片四" ElseIf Label1.Picture = Sheets("图片库").Image4.Picture Then Label1.Picture = Sheets("图片库").Image5.Picture Sheets("显示图片").Range("E1").Value = "图片五" ElseIf Label1.Picture = Sheets("图片库").Image5.Picture Then Label1.Picture = Sheets("图片库").Image1.Picture Sheets("显示图片").Range("E1").Value = "图片一" End If End Sub 5、好了,工作完成。保存并关闭该工作簿,然后重新打开,在警告信息中单击“启用宏”。此时,在图片中单击,将自动改变图片,并在单元格中显示相应的图片信息。 示例文档太大了,所以删除了部分图片并删除了相应的代码,主要是作为示例演示,您可以根据需要添加图片和相应的代码. 示例文档如下,分卷压缩,需下载到同一文件夹中然后解压:
g4zOr4sQ.rar
(431.38 KB, 下载次数: 278)
[此贴子已经被作者于2007-4-30 22:02:49编辑过] |