如何遍历所有工作表的相同范围?

时间:2018-08-15 16:09:02

标签: nested-loops ranged-loops

我有Excel VBA代码,该代码将查看一个流程(在工作表上标记为“流程A”),并在工作表上生成一个流程图,该流程图称为流程图。问题是我可能有多达15个不同的流程(在15个不同的工作表上,从“流程A”到“流程O”的标签)。我想做的是让VBA对“进程A”起作用,然后继续进行每个连续的进程并执行相同的操作。我在下面给出了部分编码。本质上,代码使用“案例”来确定对象是连接器,决策还是流程。然后,将与这些形状相对应的形状放在指定的位置,并根据代码进行格式化。我尝试了各种方法来遍历所有工作表和范围,但是每种方法均导致失败。预先感谢您提供的任何帮助!

Sub ProcessA()


Line1:     Dim ws As Worksheets
Dim ws2 As Worksheet: Set ws2 = Worksheets("Flowchart")
Dim wb As Workbook
Dim shp As Shape
Dim Left As Variant, Top As Variant, Width As Variant, Height As Variant
Dim BegX As Variant, BegY As Variant, EndX As Variant, EndY As Variant
Dim arw As Shape
Dim Vrb As String
Dim rng As Range


For Each ws In ThisWorkbook.Worksheets
If IsNumeric(Range("CK2:CK23")) = True Then


    Left = rng.Value
    Top = rng.Offset(, 1).Value
    Width = rng.Offset(, 2).Value
    Height = rng.Offset(, 3).Value
    BegX = rng.Offset(, 4).Value
    BegY = rng.Offset(, 5).Value
    EndX = rng.Offset(, 6).Value
    EndY = rng.Offset(, 7).Value
    Vrb = rng.Offset(, -87).Value

 End If

            Select Case rng.Offset(, -85).Value
            Case "Connector"
            Set shp = ws2.Shapes.AddShape(msoShapeFlowchartConnector, Left, Top, Width, Height)
                With shp
                    .TextFrame.Characters.Text = Vrb

0 个答案:

没有答案