Excel内批量处理图片链接跳转

2025-10-23 14:00:23

1、建立带索引列的空表格。注意此表中的索引列单元格内容名称是用于VBA查找对应名称的图表的。

Excel内批量处理图片链接跳转

2、建立一个名为"Chart"的图表页用于存放所有需定期更新数据的图表。

并按需要建立图表。且将对应的索引名称放在对应图表上方的A列内。

Excel内批量处理图片链接跳转

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

Excel内批量处理图片链接跳转

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

Excel内批量处理图片链接跳转

5、编辑刚建立的空宏.

Excel内批量处理图片链接跳转

6、在空宏中插入如下代码。

注意代码中“柱状图”及名为"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

拷贝完后保存退出。

Excel内批量处理图片链接跳转

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

Excel内批量处理图片链接跳转

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢