Q:如下图1所示,在工作表中,有3个数值调节按钮(窗体控件),每个按钮链接到一个单元格。当点击数值调节按钮的上下箭头时,链接到的单元格中的数值会相应的增加或减少。
图1
通常,我们按下列步骤链接控件和单元格。首先绘制控件,然后选择控件并单击右键,在快捷菜单中选取“设置控件格式”命令。在“设置控件格式”对话框的“控制”选项卡中,设置单元格链接,如图2所示。
图2
当然,在图2所示的“单元格链接”中,可以选择或输入单元格区域,但仍然只是链接到区域左上角的单元格。那么,如何仅使用一个数值调节按钮,将其链接到多个单元格呢?
下面是chandoo.org介绍的技巧,与大家分享。
A:
可以将控件链接到命名公式,而该命名公式会基于当前单元格返回相应的单元格,因此控件将动态链接到相应的单元格,从而实现一个控件可以改变多个单元格的值。
如下图3所示的工作表Sheet2,我们将这个数值调节按钮动态链接到单元格C3、C4、C5,从而能够修改这些单元格中的值。
图3
定义名称如图4所示。
图4
其中,名称:SelectedRow
引用位置:A1
名称:ControlRange
如何实现图表文本与单元格文本的链接?
Q:如何将图表上的文本链接到单元格中的文本? A: 除了坐标轴标签外,Excel图表中的图表标题、坐标轴标题、数据标签、形状等都可以链接到工作表单元格。 要将图表中的文本链接到单元格,必须先创建这些图表文本元素,例如系列名称,然后再将其修改链接至单元格。 如图1所示,单元格区域B2:C9是图表的源数据。在单元格
引用位置:=Sheet2!$C$3:$C$5
名称:ControlLink
引用位置:=OFFSET(Sheet2!$C$1,SelectedRow-1,0)
设置控件格式如图5所示。
图5
在VBE编辑器的Sheet2代码模块中,输入代码:
Private SubWorksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target,Range(“ControlRange”)) Is Nothing Then
Range(“SelectedRow”).Value =0
Exit Sub
End If
Range(“SelectedRow”).Value = Target.Row
Application.CalculateFull
End Sub
至此,所有的工作完成。选择单元格C3,单击数值调节按钮,C3中的数值会相应变化,对于单元格C4和C5也是如此,如图6所示。
图6
如果要链接到不连续的单元格区域,例如单元格区域C3:C5、B6:B8、C9:C11中的9个单元格,那么可以将名称ControlRange修改为:
=Sheet2!$C$3:$C$5,Sheet2!$B$6:$B$8,Sheet2!$C$9:$C$11
如何将数据区域分割成多个图表系列?
问:如图 1所示的列表,如果需要针对列表中的每一行都单独创建一个图表系列,如何快速实现? 图 1 答:方法一:使用公式 首先,将图 1 所示的数据进行整理,如图 2 所示。 图 2 其中,第 1 行的 D1:G1 中为列 A 中的不重复项。 在单元格 D2 中输入公式: = IF($ A2 = D