Board logo

標題: 跨越工作表加總 [打印本頁]

作者: myleoyes    時間: 2013-10-22 21:19     標題: 跨越工作表加總

各位前輩你們好!!   
         O1=SUM(單筆:單筆02!I8)
         問題如附檔說明
         請知道的前輩,不吝賜教謝謝再三!!
作者: a8350070    時間: 2013-10-22 21:43

最簡單的方式就是將新增的工作表設定在  單筆02  工作表之前

或者設一個虛的工作表在最後,例如名為 單筆最後 的工作表
公式改為 O1=SUM(單筆:單筆最後!I8)
而每次新增的工作表設定在 單筆最後  工作表之前

或者在程式新增工作表時自動該新工作表名稱導入O1的公式中
作者: myleoyes    時間: 2013-10-23 21:14

回復 2# a8350070
前輩!本想是否可以學到更好的公式
        看來如你所說簡單的方式就是用程式囉!
       謝謝再三!!
作者: ML089    時間: 2013-10-23 23:34

O1=SUM(單筆:單筆END!I8)

請注意! 新增工作表都需要在 單價與單價END之間
例如:  單價/單價01/單價02/..../單價50/單價END
作者: myleoyes    時間: 2013-10-24 21:42

回復 4# ML089
前輩!謝謝指導小弟明白程式如下
Sub 加總()
    [O3] = "=COUNTA(INDIRECT(""O5:O100""))"
    [O3].NumberFormatLocal = """編""""號"""
    If [O3] = 0 Then
       [o1] = "=單筆!I8"
    ElseIf [O3] >= 1 And [O3] < 10 Then
       [o1] = "=SUM(單筆" & ":" & "單筆" & "0" & [O3] & "!I8)"
    ElseIf [O3] >= 10 Then
       [o1] = "=SUM(單筆" & ":" & "單筆" & [O3] & "!I8)"
    End If
End Sub
謝謝再三!!
作者: ML089    時間: 2013-10-27 00:45

回復 5# myleoyes
  1. Sub ex()
  2. [O2] = "=SUM('單筆:" & Sheets(Worksheets.Count).Name & "'!I8)"
  3. End Sub
複製代碼

作者: tpwhdavid    時間: 2013-10-27 21:57

來看看  多學習點  謝謝
作者: tpwhdavid    時間: 2013-10-27 21:58

來看看  多學習點  謝謝
作者: tpwhdavid    時間: 2013-10-27 21:58

來看看  多學習點  謝謝
作者: myleoyes    時間: 2013-10-28 21:51

回復 7# ML089
前輩!謝謝指導!!
        前輩程式簡潔看似無誤,但為何執行卻錯誤呢?
       如附畫面所示!再附檔案讓你瞧瞧,不吝在賜教謝謝再三!!
作者: myleoyes    時間: 2013-10-28 22:17

回復 7# ML089
前輩!不好意思...小弟想到囉!
        檔案是用手動方式先設定好工作表所以才會讓你那完美的程式
        吃悶虧...哈哈!真歹勢!!小弟疏忽工作表是用程式一個一個寫入
       就沒有此情況,歹勢!!歹勢!!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)