私は混乱のために謝罪します。私のカウント変数は1の値を超えて増分しません。
擬似コード: - > 2(j)のリストにゼロ
- ここで明確にする試みを行きます
- リスト項目が1つカウント== 2は、他のものを行う場合はカウント== 1は、その後のもの(リスト2 ONE時間で見つかったリスト1つの項目)
- を行う場合は、リスト2つの項目は、カウンタや店舗値
- をインクリメント一致した場合(リスト2の1つの項目をリストするTWO回)
- 次の項目
私の問題は、「ティッカー」変数は式の内部でインクリメント、しかし、カウントした場合、変数の値が「、このように1から2へのステートメントを変更したことがないてしまうことです= 2 "は決して発火しない。私の写真は、j Forループの各繰り返しでコードが壊れて、 "ティッカー"変数の値を監視する場所を示しています。 "ティッカー"が1から2に変わるはずの反復では、IFステートメント内の式が増分されていることを示していますが、ローカルウィンドウに表示されている変数の値は変更されません。
コード:
For i = LBound(SAPanArray) To UBound(SAPanArray)
anString = Trim(Split(SAPanArray(i), " ")(0))
ticker = 0
Set a = FindNextEmpty(Sheets("SAPdata").Range("F4"))
If IsInArrayC(anString, SAPanArray) = 0 Then
Sheets("SAPdata").Cells((a.Row), (a.Column)).Value = Sheets("SAPdata").Cells((i + 3), 9).Value
Sheets("SAPdata").Cells((a.Row), 7).Value = (Sheets("SAPdata").Cells((i + 3), 10).Value) * 2000
Sheets("SAPdata").Cells((a.Row), 7).Interior.Color = RGB(255, 192, 0)
Else
For j = LBound(SAPbulkArray) To UBound(SAPbulkArray)
SAPbulkArray = WorksheetFunction.Transpose(Sheets("SAPdata").Range("F4:F" & (Sheets("SAPdata").Range("F" & Cells.Rows.Count).End(xlUp).Row)))
If InStr((SAPbulkArray(j)), anString) > 0 Then
ticker = (1 + ticker)
dupArray(ticker) = Sheets("SAPdata").Cells((j + 3), 7).Value
End If
If ticker = 1 Then
If ((Sheets("SAPdata").Cells((i + 3), 10).Value) * 2000) <> (Sheets("SAPdata").Cells((j + 3), 7).Value) Then
Sheets("SAPdata").Cells((a.Row), (a.Column)).Value = Sheets("SAPdata").Cells((i + 3), 9).Value
Sheets("SAPdata").Cells((a.Row), 7).Value = (Sheets("SAPdata").Cells((i + 3), 10).Value) * 2000
Sheets("SAPdata").Cells((a.Row), 7).Interior.Color = RGB(255, 192, 0)
End If
ElseIf ticker = 2 Then
summer = (dupArray(1)) + ((Sheets("SAPdata").Cells((i + 3), 10).Value) * 2000)
If summer <> dupArray(2) Then
If Not IsEmpty(Sheets("SAPdata").Cells((j + 3), 11)) Then
Sheets("SAPdata").Cells((j + 3), 7).Value = Sheets("SAPdata").Cells((i + 3), 11).Value
End If
Sheets("SAPdata").Cells((i + 3), 11).Value = Sheets("SAPdata").Cells((j + 3), 7).Value
Sheets("SAPdata").Cells((i + 3), 11).Font.Color = vbWhite
Sheets("SAPdata").Cells((j + 3), 7).Value = ((Sheets("SAPdata").Cells((i + 3), 10).Value) * 2000) + Sheets("SAPdata").Cells((j + 3), 7).Value
Sheets("SAPdata").Cells((j + 3), 7).Interior.Color = RGB(255, 192, 0)
End If
End If
Next
End If
Next
forループの前にティッカー= 0を宣言するとどうなりますか? – Sami
これは大量のコードです。人々は答えたいと思う質問をするために問題を絞り込んでください。 [mcve]と[ask]を参照してください。 –
これはポイントの横にありますが、この行は「Dim counter、counter1、counters、duplicateCount、ticker As Long'という形式が悪いです。 ( 'ticker'を除く全ての変数はVariant型であり、' ticker'だけが 'Long'データ型です)。他の宣言文にも同じ運命があります。 –