我想給宏中的初始數字(在此示例中爲T00101),並且如果滿足條件(在列C具有「良好」的值),所以如果列B中的單元格沒有變化,則將其增加1,如果列中有變化,則將增加100(從先前名稱的第一次出現開始計數) B.編號取決於更改另一列中的單元格值 - vba代碼
如果在列C中該單詞爲「假」,則A中的單元格將保持空。 這是該詞的第一次出現總是以01結尾,該詞的第二次出現以02結尾。如果名稱中有變化,則該數字的前三位數字增加1。牛逼信)
我想這是一個結果:
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