今日碰到一个无理的客户要求,要求要有总结,又要在总结表格内显示数据图表并链接到原始图表以便查看详细数据。我的个神哪,总结里面有几百个数据要链接到图表而且还要每周更新数据。每次搞超链接都不知道要花多少时间呢?
咋怎?只能想个偷懒的法子,用宏做超链接了。在此分享共勉。
例子假定有个互联网+的培训班要定期更新学员数据,以二马一李同学为例。:)


前期准备工作(包括相关工具或所使用的原料等)
Excel 2013详细的操作方法或具体步骤
建立带索引列的空表格。注意此表中的索引列单元格内容名称是用于VBA查找对应名称的图表的。

建立一个名为"Chart"的图表页用于存放所有需定期更新数据的图表。
并按需要建立图表。且将对应的索引名称放在对应图表上方的A列内。

一 一选中每个图表,将图表名命名为以"Chart -"为前缀加对应索引代码。如Chart -TZ来命名体重统计表。

录制一个名字为setpiclinkage的空宏。并设定快捷键为Ctrl+Shift+L

编辑刚建立的空宏.

在空宏中插入如下代码。
注意代码中“柱状图”及名为"Chart"的工作表单名称是以例子应用设定的,如参考此经验,请根据实际需要重命名并更改代码中的名称。
Dim a As String
Dim b As String
Dim c As String
Dim d As String
Dim e As Integer
Dim i As Integer
Dim j As Integer
Dim shname As String
shname=ActiveSheet.Name
MsgBox "请确认是否想把图片库图片拷入:" & shname
Sheets(shname).Select
i=1
j=Application.WorksheetFunction.CountA(Range("A:A"))
d=ActiveSheet.Range("2:2").Find("柱状图").Column - 1
For i=3 To j
Sheets(shname).Select
c=Range("A" & i).Value
Sheets("Chart").Select
On Error GoTo errskip
e=ActiveSheet.Range("A:A").Find(c).Row
If c <> "" Then
Sheets("Chart").Select
On Error GoTo errskip
ActiveSheet.ChartObjects("Chart -" & c).Activate
Selection.Copy
Sheets(shname).Select
Range("A" & i).Offset(0, d).Select
ActiveSheet.Pictures.Paste.Select
a=Range("A" & i).Offset(0, d).Width / Selection.Width
b=Range("A" & i).Offset(0, d).Height / Selection.Height
If a <=b Then
Selection.ShapeRange.ScaleWidth a, msoFalse, msoScaleFromTopLeft
Else
Selection.ShapeRange.ScaleHeight b, msoTrue, msoScaleFromTopLeft
End If
Sheets("Chart").Select
On Error GoTo errskip
e=ActiveSheet.Range("A:A").Find(c).Row
Sheets(shname).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection.ShapeRange.Item(1), Address:="", SubAddress:="'" & Worksheets("Chart").Name & "'" & "!A" & e
Sheets("Chart").Select
ActiveSheet.ChartObjects("Chart -" & c).Activate
ActiveChart.Hyperlinks.Add Anchor:=Selection.ShapeRange.Item(1), Address:="", SubAddress:="'" & Sheets(shname).Name & "'" & "!" & Chr(d + 65) & i
Sheets("Chart").Select
errskip:
Sheets(shname).Select
Else
End If
Next i
拷贝完后保存退出。

好,一切以就绪。回到linkage页按快捷键Ctrl+Shift+L。运行完后图表以图片的形式被拷贝进表内,对应的超链接也建立完成

注意事项
如入此经验能给您带来帮助,烦请点击右上角大拇指或五角星以资鼓励。谢谢!经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本教程系本人依照真实经历原创,未经许可,谢绝转载。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
