Board logo

標題: [發問] 欄位(值)相加 [打印本頁]

作者: g93353    時間: 2012-5-1 16:43     標題: 欄位(值)相加

小弟想請問一下

附件中
A6至H14為一月份的支出及收入
2012/1/1        說明           2012/1/10            說明        2012/1/20        說明            2012/1/30           說明
     13                支出                    1                    收入                4                支出                     2                   收入
      4                支出                    4                    收入                                                              2                   支出
      5                收入                    3                    支出                4                收入                        
      3                收入                    4                    收入                                                              2                   收入
      4                支出                    3                    收入                3                支出               
      3                收入                    4                    支出                                                              8                   支出
      5                收入                    4                    收入                2                收入                     5                   收入
      6                收入                    4                    收入                2                支出

當按鈕按下後
變會將所有欄位的收入及支出做總和加到當月第一天( 不管收入支出都相加) 然後說明欄空白
也就是變成

2012/1/1        說明
     20       
     10            
     12       
      9         
     10         
     15       
     16       
     12       

想請問一下
可否用
Selection.Delete Shift:=xlToLeft  的方式
邊將存儲格往左移
然後邊將數字做總和
因為後面可能還會有二月三月份等等  所以欄位是不固定的
所以想請教一下各位高手的作法 麻煩指教了>"<

PS : 附件的總和弄在SHEET2看起來比較容易看
       實際上都是在SHEET1完成加總的動作
作者: Hsieh    時間: 2012-5-1 17:20

回復 1# g93353
  1. Sub nn()
  2. Dim Ar(), A As Range
  3. For Each A In Range([A6], [A6].End(xlDown))
  4.    If IsDate(A) Then
  5.    ReDim Preserve Ar(s)
  6.    Ar(s) = Array(A.Value, "說明")
  7.    s = s + 1
  8.    Else
  9.    ReDim Preserve Ar(s)
  10.    x = Application.Sum(A.EntireRow)
  11.    Ar(s) = Array(x, "")
  12.    s = s + 1
  13.    End If
  14. Next
  15. Range("A6").CurrentRegion = ""
  16. [A6].Resize(s, 2) = Application.Transpose(Application.Transpose(Ar))
  17. End Sub
複製代碼

作者: g93353    時間: 2012-5-1 17:39

謝謝版主!!!! 趕快來研究一下!!!!




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