嗨,我有一列 0 和 1 我想創建非 0 值的運行總數,直到它達到單元格值 0。一旦它達到零,它應該回傳一個空單元格,重置為 0,然后開始再次從 1 開始,下一個單元格值為 1。

任何幫助將不勝感激,包括我可能想要幫助的內容。
使用當前解決方案進行編輯:我發現此解決方案有效,我將如何使其成為函式而不是使用此 Sub()?
Sub test()
Dim value As Integer
value = 0
For i = 1 To Range("Table2").Rows.Count
If ThisWorkbook.Worksheets("Sheet1").Range("Table2[Current Col]").Cells(i) = 0 Then
value = 0
Range("Table2[New Column]")(i) = ""
ElseIf ThisWorkbook.Worksheets("Sheet1").Range("Table2[Current Col]").Cells(i) = 1 Then
value = value 1
Range("Table2[New Column]")(i) = value
End If
Next i
End Sub
uj5u.com熱心網友回復:
遞增組
- 使用變數來避免長的不可讀的行。
Option Explicit
Sub test()
Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets("Sheet1")
Dim srg As Range: Set srg = ws.Range("Table2[Current Col]")
Dim drg As Range: Set drg = ws.Range("Table2[New Col]")
Dim sValue As Variant
Dim dValue As Variant
Dim iValue As Long
Dim i As Long
For i = 1 To srg.Cells.Count
' Read from source cell into a variable ('sValue').
sValue = srg.Cells(i).Value
' Test and write result to a variable ('dValue').
If IsNumeric(sValue) Then
If sValue = 1 Then
iValue = iValue 1
dValue = iValue
End If
Else
iValue = 0
dValue = Empty
End If
' Write from the variable ('dValue') to the destination cell.
drg.Cells(i).Value = dValue
Next i
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/387214.html
