標題:
[發問]
為什麼 公式(函數) 不能自動計算?
[打印本頁]
作者:
yen956
時間:
2014-3-16 10:12
標題:
為什麼 公式(函數) 不能自動計算?
本帖最後由 yen956 於 2014-3-16 10:15 編輯
為什麼 公式(函數) 不能自動計算?
如圖,
我用 VBA 在 AH1, AI1, ..., 輸入函數,
=SUM($AH$3:$AH$200)
為何不能不能自動計算總和?
個別 雙點, 再按 Enter 才會個別更新
?
或者
按 存檔鈕, 則全部 更新
?
是不是中毒? 用AVG也查不出來.
vba code 如下:
Sub 建立日期比對表()
Dim i As Integer
Sheets("Sheet1").Activate
'根據 [B3], 填入連續12個月的 結算日期 到 欄Z
'並填入連續12個月的 年月 到 欄Y, 供 [Y2] Match 年月 用
'因為某些月份超過1筆, 且同月份須寫在同一列, 故用 MATCH 比對是否同一月份的資料
For i = 1 To 12
Cells(i + 2, 26) = DateSerial(Year([B3]), Month([B3]) + i, 1) - 1
Cells(i + 2, 25) = Year(Cells(i + 2, 26)) - 1911 & Month(Cells(i + 2, 26))
Next i
End Sub
Sub Exyen()
Dim Rng, chkRng As Range
Dim i, endRow, blankRow, oldRow As Integer
建立日期比對表
Sheets("Sheet1").Activate
[M3] = 0.0254 '此列 "借用" M$3是個變數並非固定值
endRow = [A2000].End(xlUp).Row
blankRow = 3
oldRow = 3
'先決條件:欄A 之 編號 = 1,2,3... 排列, 否則本 VBA 無法正常運轉
For i = 3 To endRow
'若 Cells(2, i + 31)<>"", 則這筆資料己結算過, 換下一筆
If Cells(2, i + 31) <> "" Then GoTo next1:
'否則將 編號 寫入 Cells(2, i + 31)
Cells(2, i + 31) = i - 2
'將 目前這一筆 欄B 之 年月放入 [Y1], 供 [Y2] Match 比對年月 用
[Y1] = Year(Cells(i, 2)) - 1911 & Month(Cells(i, 2))
'因為某些月份超過1筆, 且同月份須寫在同一列, 故用 MATCH 比對是否同一月份的資料
[Y2] = "=MATCH(Y1,Y3:Y200,0)"
blankRow = [Y2] + 2
'
If blankRow <> oldRow Then
Range(Cells(oldRow, 34), Cells(oldRow, i + 30)).Copy
Cells(blankRow, 34).PasteSpecial xlPasteValues
End If
Cells(blankRow, i + 31) = "=ROUND($F$" & i & "*$M$3,2)"
Cells(1, i + 31) = "=SUM(R3C" & i + 31 & ":R200C" & i + 31 & ")"
oldRow = blankRow
next1:
Next
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/)