作者:Excel Home 来源:《Excel实战技巧精粹》
发表于:2008年9月26日
在Excel中,使用动态名称与ActiveX控件,能够轻松地实现工作表中的图片自动更新的特殊效果。本技巧中将以制作一个简单的职员资料表为例,使职员的相片能够随着姓名的改变而改变。
职员资料表工作簿内含有两张工作表,“资料表”工作表用于显示职员的资料,“图片”工作表用于存储所有职员的相片。“资料表”中的表格如图83-1所示。
图83-1 职员资料表格
“图片”工作表中的表格如图83-2所示,A列是职员的姓名,B列当前是空白,用于存放职员的相片。
图83-2 “图片”工作表
采用以下步骤增加相片。
单击B1,然后单击菜单“插入”→“图片”→“来自文件”,在“插入图片”对话框中选择相应的相片文件,单击“插入”。
因为相片的原始大小比单元格大,所以需要调整大小。单击相片,然后把光标移动到右下角的圆圈上,当光标变成一个斜线箭头时,往左上方向拖动,如图83-3所示,直到单元格能容纳整张相片。
图83-3 调整相片大小
为了能使相片更好地被单元格所容纳,还可以使用以下方法。
单击相片,然后单击绘图工具栏的“绘图”→“自动靠齐”→“对齐网格”,如图83-4所示。如果绘图工具栏没有显示,可以右键单击工具栏,在弹出的菜单中单击“绘图”项。
图83-4 设置图片自动靠齐网格
双击相片,在“设置图片格式”对话框的“属性”选项卡中,选择“大小位置,随单元格而变”项,单击“确定”按钮,如图83-5所示。
图83-5 设置相片的属性
使用相同的方法为所有职员插入相片,如图83-6所示。
图83-6 为所有职员插入相片
按<Ctrl+F3>组合键,在“定义名称”对话框中,在“在当前工作簿中的名称”文本框中输入“pic”,在“引用位置”文本框中输入“=OFFSET(图片!$B$1,MATCH(资料表!$A$2,图片!$A$1:图片!$A$4,0) -1,0)”,单击“确定”按钮。
切换到“资料表”工作表,右键单击工具栏,在弹出的菜单中选择“控件工具箱”项,在“控件工具箱”工具栏中单击“命令按钮”控件,如图83-7所示。
图83-7 “控件工具箱”工具栏
单击B3单元格的左上角,然后往右下方向拖动,画出一个符合单元格大小的命令按钮,如图83-8所示。
图83-8 在表格中插入命令按钮
在A2中输入某职员的姓名,如“张三”。单击命令按钮,把光标定位到编辑栏,将原有内容“=EMBED(“Forms.CommandButton.1”, “”)”改为“=pic”。现在,张三的相片就显示出来了,如图83-9所示。
图83-9 图像在命令按钮中显示
为了让相片的大小与单元格大小相匹配,可以调整命令按钮的大小,方法同步骤2。调整大小后的显示效果如图83-10所示。
图83-10 调整大小后的相片
在A2单元格内输入不同职员的姓名,在B3中就能够自动显示其相片,如图83-11所示。
图83-11 相片自动更新