Board logo

標題: [發問] 為什麼 公式(函數) 不能自動計算? [打印本頁]

作者: yen956    時間: 2014-3-16 10:12     標題: 為什麼 公式(函數) 不能自動計算?

本帖最後由 yen956 於 2014-3-16 10:15 編輯

為什麼 公式(函數) 不能自動計算?
如圖,

我用 VBA 在 AH1, AI1, ..., 輸入函數,
=SUM($AH$3:$AH$200)
為何不能不能自動計算總和?
個別 雙點, 再按 Enter 才會個別更新?
或者 按 存檔鈕, 則全部 更新?
是不是中毒? 用AVG也查不出來.
vba code 如下:
  1. Sub 建立日期比對表()
  2.     Dim i As Integer
  3.     Sheets("Sheet1").Activate
  4.    
  5.     '根據 [B3], 填入連續12個月的 結算日期 到 欄Z
  6.     '並填入連續12個月的 年月 到 欄Y, 供 [Y2] Match 年月 用
  7.     '因為某些月份超過1筆, 且同月份須寫在同一列, 故用 MATCH 比對是否同一月份的資料
  8.     For i = 1 To 12
  9.         Cells(i + 2, 26) = DateSerial(Year([B3]), Month([B3]) + i, 1) - 1
  10.         Cells(i + 2, 25) = Year(Cells(i + 2, 26)) - 1911 & Month(Cells(i + 2, 26))
  11.     Next i
  12. End Sub

  13. Sub Exyen()
  14.     Dim Rng, chkRng As Range
  15.     Dim i, endRow, blankRow, oldRow As Integer
  16.    
  17.     建立日期比對表
  18.    
  19.     Sheets("Sheet1").Activate
  20.     [M3] = 0.0254  '此列 "借用" M$3是個變數並非固定值
  21.     endRow = [A2000].End(xlUp).Row
  22.     blankRow = 3
  23.     oldRow = 3
  24.    
  25.     '先決條件:欄A 之 編號 = 1,2,3... 排列, 否則本 VBA 無法正常運轉
  26.     For i = 3 To endRow
  27.    
  28.         '若 Cells(2, i + 31)<>"", 則這筆資料己結算過, 換下一筆
  29.         If Cells(2, i + 31) <> "" Then GoTo next1:
  30.         
  31.         '否則將 編號 寫入 Cells(2, i + 31)
  32.         Cells(2, i + 31) = i - 2
  33.         
  34.         '將 目前這一筆 欄B 之 年月放入 [Y1], 供 [Y2] Match 比對年月 用
  35.         [Y1] = Year(Cells(i, 2)) - 1911 & Month(Cells(i, 2))
  36.         
  37.         '因為某些月份超過1筆, 且同月份須寫在同一列, 故用 MATCH 比對是否同一月份的資料
  38.         [Y2] = "=MATCH(Y1,Y3:Y200,0)"
  39.         
  40.         blankRow = [Y2] + 2
  41.         
  42.         '
  43.         If blankRow <> oldRow Then
  44.             Range(Cells(oldRow, 34), Cells(oldRow, i + 30)).Copy
  45.             Cells(blankRow, 34).PasteSpecial xlPasteValues
  46.         End If
  47.         
  48.         Cells(blankRow, i + 31) = "=ROUND($F$" & i & "*$M$3,2)"
  49.         Cells(1, i + 31) = "=SUM(R3C" & i + 31 & ":R200C" & i + 31 & ")"
  50.         oldRow = blankRow
  51. next1:
  52.      Next
  53. End Sub
複製代碼

作者: yen956    時間: 2014-3-16 12:38

本帖最後由 yen956 於 2014-3-16 12:40 編輯

回復 1# yen956
解決了!!
感謝謝 huijuang 大大在
http://forum.twbts.com/thread-11351-1-3.html
的指導!!
先檢查一下看是不是自動計算被改成手動了
『工具』→『選項』→『計算』→『自動』

原來是我下載別人的檔案, 將『自動』改成『手動』
的原故, 還以為中毒, 謝謝!!




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