0

したがって、以下のコードは、列 H で WIP を見つけようとします。WIP が見つかった場合: 3 つのセルをコピーし、同じ行または次の利用可能な行の次の列にそれらのレプリカを 10 個作成します。

何らかの理由で、コードは最初の「WIP」値に対してのみループを正常に実行し、その後実行を停止します。誰かがなぜこれが起こり続けるのか分かりますか?

ありがとう、オリ

サブ Step1_update()

Dim dblSKU As Double
Dim strDesc As String
Dim strType As String
Dim BrowFin As Integer
Dim Browfin1 As Integer
Dim Counter As Integer
Dim Trowfin As Integer

Counter = 0

Worksheets("Final").Activate

Trowfin = 5
BrowFin = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row

    'loop 1
    Do While Trowfin < BrowFin

        'If 1
        If Range("H" & Trowfin).Value = Range("H3").Value Then

             dblSKU = Range("F" & Trowfin).Value
             strDesc = Range("G" & Trowfin).Value
             strType = Range("H" & Trowfin).Value

             Browfin1 = (ActiveSheet.Range("J" & Rows.Count).End(xlUp).Row)

             'If 2
             If Browfin1 > Trowfin Then

                Do While Counter < 15

                    Range("J" & Browfin1).Value = dblSKU
                    Range("K" & Browfin1).Value = strDesc
                    Range("L" & Browfin1).Value = strType

                    Counter = Counter + 1
                    Browfin1 = Browfin1 - 1
                    Trowfin = Trowfin + 1

                Loop

              ElseIf Browfin1 < Trowfin Then

                 Do While Counter < 15

                    Range("J" & Trowfin).Value = dblSKU
                    Range("K" & Trowfin).Value = strDesc
                    Range("L" & Trowfin).Value = strType

                    Counter = Counter + 1
                    Trowfin = Trowfin + 1

                 Loop

                Else

                 Do While Counter < 15

                    Range("J" & Trowfin).Value = dblSKU
                    Range("K" & Trowfin).Value = strDesc
                    Range("L" & Trowfin).Value = strType

                    Counter = Counter + 1
                    Trowfin = Trowfin + 1

                 Loop
                'If 2
                End If


        Else

            Trowfin = Trowfin + 1

        'If 1
        End If

    counter = 0 

    'loop 1
    Loop

End Sub
4

1 に答える 1

0

ループした後、おそらくカウンターを 0 にリセットする必要があります。それ以外の場合は、次にループに戻ったときにすでに 15 になっています。

于 2015-07-13T15:57:06.513 に答える