私は以下のコードを試していて、正しく機能していました。どういうわけかラインが変更され、機能しなくなった
次のようなタグと重みのテーブルがあります。
Tag | Weight
---------------
Sport | 1
Music | 1
そして、タグと重みを含むユーザーの別のテーブル
User | Tag | Weight
cell(j, "B") には、他のワークシートの cell(2,"C") と同様に、ユーザー名が含まれています
次のコードを使用しています。
Sub swipeleft()
LastRowUser = Worksheets(13).Range("B65536").End(xlUp).Row
LastRowInput = Worksheets(14).Range("F65536").End(xlUp).Row
LastRowUser = LastRowUser + 1
newcount = 1
For j = 2 To LastRowUser
For k = 9 To LastRowInput
If Worksheets(14).Cells(k, "F") = Worksheets(13).Cells(j, "C") And Worksheets(13).Cells(j, "B") = Worksheets(14).Cells(2, "C") Then
Worksheets(13).Cells(j, "D") = Worksheets(13).Cells(j, "D") - Worksheets(14).Cells(k, "G")
ElseIf Not Worksheets(13).Cells(j, "B") = Worksheets(14).Cells(2, "C") Then
Worksheets(13).Cells(newcount + LastRowUser, "C") = Worksheets(14).Cells(k, "F")
Worksheets(13).Cells(newcount + LastRowUser, "D") = Worksheets(14).Cells(k, "G") * (-1)
Worksheets(13).Cells(newcount + LastRowUser, "B") = Worksheets(14).Cells(2, "C")
newcount = newcount + 1
End If
Next k
Next j
End Sub
これは、データが存在しない場合に行を追加しますが、何らかの理由で最初の実行後、2 番目の else 条件が満たされていないにもかかわらず、指数関数的に多くの行を追加し続けますか?
以下のコメントから更新
ユーザー入力ページ (ワークシート 14) は次のとおりです。
これがユーザー データベース ページです (ワークシート 13)。
ユーザー データベース ページで、存在しない 2 つの行 (音楽、ダンス) を追加し、入力ページからユーザー データベース ページの現在の値にスポーツ タグの重み付け (-1) を追加したいと考えています。