1

我有 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
4

0 回答 0