- 帖子
- 150
- 主題
- 40
- 精華
- 0
- 積分
- 215
- 點名
- 0
- 作業系統
- windows xp
- 軟體版本
- sp3
- 閱讀權限
- 20
- 註冊時間
- 2013-7-15
- 最後登錄
- 2025-5-26
|
5#
發表於 2016-2-23 17:33
| 只看該作者
G大你好
再將函數公式轉寫為值時,G大是用 .Calculate
我是加入,下面這一句程式碼,我的用法正確嗎?
'計算工作表,等待計算結束後,再進行下一步
Application.Calculate '計算工作表
Do Until Application.CalculationState = xlDone
DoEvents
Loop
Sub ex()
Application.Calculation = xlCalculationManual '計算模式為手動
With Sheets("分析")
首列 = .Range("首列")
欄號 = .Range("欄號")
尾列 = Cells(Rows.Count, 1).End(xlUp).Row '由下往上找最後一列資料
尾欄 = Cells(尾列, Columns.Count).End(xlToLeft).Column '由右往左找
'貼上公式1
.Range("a" & 尾列 & ":c" & 尾列).Copy
.Range("a" & 首列 & ":c" & 尾列 - 2).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'貼上公式2
.Range(Cells(尾列, 欄號), Cells(尾列, 尾欄)).Copy
.Range(Cells(首列, 欄號), Cells(尾列 - 2, 尾欄)).PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
'計算工作表,等待計算結束後,再進行下一步
Application.Calculate '計算工作表
Do Until Application.CalculationState = xlDone
DoEvents
Loop
'函數公式轉寫為值
.Range("a" & 首列 & ":c" & 尾列 - 2) = .Range("a" & 首列 & ":c" & 尾列 - 2).Value
.Range(Cells(首列, 欄號), Cells(尾列 - 2, 尾欄)) = .Range(Cells(首列, 欄號), Cells(尾列 - 2, 尾欄)).Value
End With
Application.Calculation = xlCalculationAutomatic '計算模式為自動
End Sub |
|