返回列表 上一主題 發帖

[發問] 計算工作表(間隔)

[發問] 計算工作表(間隔)

請版上大大幫忙,求如何計算間隔次數
附上圖檔和原始EXCEL檔案
謝謝大家幫忙


Book1.rar (8.13 KB)

0               
1        間隔1次出現大於0       
0               
0               
1        間隔2次出現大於0       
1        間隔0次出現大於0       
0               
0               
0               
1        間隔3次出現大於0       
1        間隔0次出現大於0       
0               
0               
0               
1        間隔3次出現大於0       
0               
1        間隔0次出現大於0       
1        間隔0次出現大於0       
0               
0               
1        間隔2次出現大於0       
0               
0               
0               
0               
1        間隔4次出現大於0
學習 學習 一直學習

本帖最後由 星空乂羽翼 於 2023-9-6 10:27 編輯
  1. Sub text()
  2.     Range("A1").Select
  3.     Dim x As Integer
  4.     Dim y As Integer
  5.    
  6.     While ActiveCell.Value <> ""
  7.    
  8.     x = ActiveCell.Value
  9.    
  10.    
  11.     If x = 0 Then
  12.     y = y + 1
  13.     ActiveCell.Offset(1, 0).Range("A1").Select
  14.    
  15.     Else
  16.     ActiveCell.Offset(0, 1).Range("A1").Select
  17.     ActiveCell.Value = y
  18.     ActiveCell.Offset(1, -1).Range("A1").Select
  19.     y = 0
  20.       
  21.     End If
  22.     Wend
  23. End Sub
複製代碼

TOP

回復 2# 星空乂羽翼

後學剛學習VBA
上述代碼是由目前已學的觀念進行撰寫
若寫得不好請見諒,感謝!

TOP

本帖最後由 peter95 於 2023-9-6 16:02 編輯

感謝幫忙,我來試看看,謝謝你
學習 學習 一直學習

TOP

google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

謝謝論壇,謝謝各位前輩
後學藉此帖練習陣列,學習方案如下,請各位前輩指教

執行前:


執行結果:



Option Explicit
Sub TEST()
Dim Brr, i&, N&
Brr = Range([A1], [A65536].End(3))
For i = 1 To UBound(Brr)
   If Val(Brr(i, 1)) > 0 Then Brr(i, 1) = N: N = 0 Else Brr(i, 1) = "": N = N + 1
Next
[E1].Resize(UBound(Brr)) = Brr
End Sub
用行動裝置瀏覽論壇學習很方便,謝謝論壇經營團隊
請大家一起上論壇來交流

TOP

        靜思自在 : 人要知福、惜福、再造福。
返回列表 上一主題