Re: [問題] 用vba編輯計算連續的次數
呵 又可以來練習一下VBA (比較簡單)
Sub OpenNo()
: '計算從關機(空白)變開機(有內容)之次數,但第一格是開機時即計數
Set Rn = Range("A1:K1")
: 'off = IIf(Rn(1) = "", 0, 1) '另一寫法 但此式true時沒必要給0(預設為0)
: 'Count = IIf(Rn(1) = "", 0, 1) '此二行,若需確保數字正確時使用
If Rn(1) <> "" Then
Count = 1 '第一格開機即計數
: 'off = 1 '與上行擇一使用即可.設定"假想的前一格"為關機,使接下來好算
End If
For Each no In Rn
If no = "" Then
off = 1 '本格關機
Else '本格開機
If off = 1 Then '前一格關機 表本格由關變開
Count = Count + 1
End If
off = 0
End If
Next
MsgBox Count
End Sub
一行中最前面的": "只是方便在BBS上顯示暗色
且剛好在VBA中也不會有影響
當然 陣列公式是一定要的
=(A1<>"")+SUM((B1:K1<>"")*(A1:J1=""))
http://2y.drivehq.com/p/OpenNo.xls
※ 引述《kimul (而 我 知 道!!)》之銘言:
: (若是和其他不同軟體互動之問題 請記得一併填寫)
: 軟體:EXCEL
: 版本:EXCEL 2003
: 不好意思標題可能描述的不是很清楚
: 有個問題想請教大家就是
: 以下面的儲存格為例
: 假設有一台電腦 A開機後用了2小時 B接著用3小時 C沒用就關機
: 接著D再用1小時 E再接著用2小時 F沒用就關機 G再開機用了3小時 H沒用就關機
: A B C D E F G H
: 1 2 3 1 2 3
: 2
: 3
: 以上面舉的這個例子來說 總共應該是開了3次機
: 希望能用vba表達出來 我想了很久都寫不出來
: 希望板上的各位能提供一點想法
: 我已經盡力舉好懂了例子了 雖然舉的不是很好
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.47.36.105
※ 編輯: JieJuen 來自: 114.47.36.105 (10/02 15:40)
※ 編輯: JieJuen 來自: 218.164.49.72 (05/11 14:03)
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
Office 近期熱門文章
PTT數位生活區 即時熱門文章