マクロ内の最初の番号(この例ではT00101)を与え、条件を満たす場合は列Aの空のセルにコードを入力します列Cには「良い」値がある)、列Bのセルに変更がなければ1増加し、列に変化があった場合は100増加する(以前の名前の最初の数から数えられる) B.番号は、別の列のセル値を変更することに依存します。 - VBAコード
C列の単語が「偽」の場合、Aのセルは空のままです。 これは、単語の最初の出現が常に01で終わり、単語の2番目の出現が02で終わります。名前に変更がある場合、数字の最初の3桁が1増加します。 T文字)
私は、結果としてこれをしたいと思います:
A B C
Id Name Status
T00101 Apple good
T00102 Apple good
T00103 Apple good
T00201 Peach good
T00301 Orange good
Banana false
T00401 Grapes good
T00402 Grapes good
は、私はこれを持っているが、それは正しく動作しません...マクロの他の提案を?
Sub numbering()
Sheet1.Select
Dim Start As Long
Dim Piece As String
Dim lastrow As Long
Dim erow As Long
lastrow = Sheet1.Cells(Rows.Count, 2).End(xlUp).Row
erow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
Start = 00101
Piece = 0
For i = erow To lastrow
If Cells(i, 3) = "good" Then
Sheet1.Cells(i, 1) = Start
If Cells(i, 2) = Cells(i + 1, 2) Then
Piece = Piece + 1
Start = Start + 1
Else:
Sheet1.Cells(i, 1) = Start - Piece + 100
End If
End If
Next i
End Sub
コードを投稿するとき、それは読みやすくするためにインデントを使用してください。 –
'それは正しく動作しません'何か役に立つ方法で問題を記述していません – jsotola