VBA在“对于每个循环”中确定对象的顺序

大卫

如何控制for each循环中图表指标的顺序现在,图表是随机选择的;图2,图7,图5等

我应该重命名预定义的图表名称吗?如果是这样,我该怎么做?

    ...
    'Loop charts
    ThisWorkbook.Activate
    Dim objCht As Object
    Dim i As Integer
    i = 1
    For Each objCht In Worksheets(Detailed.Name).ChartObjects

        With objCht '.Chart
            ThisWorkbook.Activate
            .Copy
            dataFile.Activate
            Select Case i
                Case 1
                    Application.Goto Range("B2")
                Case 2
                    Application.Goto Range("B17")
                Case 3
                    Application.Goto Range("R17")
                Case 4
                    Application.Goto Range("J17")
                Case 5
                    Application.Goto Range("N17")
                Case 6
                    Application.Goto Range("J2")
                Case Else
                    MsgBox "Hmmmm...."
            End Select
            ActiveSheet.PasteSpecial Format:="Picture (Enhanced Metafile)", Link:=False, DisplayAsIcon:=False
        End With
        i = i + 1

    Next objCht
    ...
悉达思·劳特

这是你想要的吗?我假设图表是按顺序命名的。即1等于任何数字(Charts.Count

Dim ws As Worksheet
Dim objChart As ChartObject
Dim i As Long

Set ws = ThisWorkbook.Sheets("YourSheetName")

For i = 1 To ws.ChartObjects.Count
    Debug.Print ws.ChartObjects("Chart " & i).Chart.Name

    With ws.ChartObjects("Chart " & i).Chart
        '~~> Do what you want here
    End With
Next i

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章