- 帖子
- 365
- 主題
- 40
- 精華
- 0
- 積分
- 406
- 點名
- 0
- 作業系統
- Win 7
- 軟體版本
- OFFICE 2003
- 閱讀權限
- 20
- 註冊時間
- 2012-12-11
- 最後登錄
- 2024-8-24
|
本帖最後由 藍天麗池 於 2015-1-6 10:36 編輯
回復 29# GBKEE
G大跟你請教一下,我有一個程式因為excel裡面的資料比較多,需要一直更新,但畫面會一直閃爍,我在網路上找了一下,說是要貼上下面的兩段程式碼,但我不確定貼在哪哩,請G大跟我說一下,感謝
Application.ScreenUpdating = False
Application.ScreenUpdating = True
我有幾段程式貼出來給G大看,在麻煩您跟我說一下,感謝
以下是sheet4- Private Sub CommandButton1_Click()
- Dim pTick As TTick
- Dim I As Integer
- I = 1
- Sheet4.Range("g1:g2").Clear
- Sheet4.Range("a3:f3").Clear
- Sheet4.Range("a5:k90000").Clear
- While Sheet4.Cells(2, I) <> ""
- Status = SKQuoteLib_RequestTicks(I, Sheet4.Cells(2, I))
- I = I + 1
- Wend
- End Sub
- Private Sub Worksheet_Change(ByVal Target As Range)
- Application.EnableEvents = False
- If Not Intersect(Target, [B5:B90000]) Is Nothing Then
- Range("H" & Target.Row).Formula = "=INT(RC[-6]/100)"
-
- ElseIf Not Intersect(Target, [F5:F90000]) Is Nothing Then
- Range("I" & Target.Row).Formula = "=IF(RC[-6]=-9999.99,R[-3]C[-4],IF(RC[-4]=RC[-6],-RC[-3],IF(RC[-4]=RC[-6]-1,-RC[-3],IF(RC[-4]=RC[-6]-2,-RC[-3],IF(RC[-4]=RC[-6]-3,-RC[-3],IF(RC[-4]=RC[-6]-4,-RC[-3],IF(RC[-4]=RC[-6]-5,-RC[-3],IF(RC[-4]=RC[-5],RC[-3],IF(RC[-4]=RC[-5]+1,RC[-3],IF(RC[-4]=RC[-5]+2,RC[-3],IF(RC[-4]=RC[-5]+3,RC[-3],IF(RC[-4]=RC[-5]+4,RC[-3],IF(RC[-4]=RC[-5]+5,RC[-3],RC[-3])))))))))))))"
- ElseIf Not Intersect(Target, [C5:C90000]) Is Nothing Then
- Range("J" & Target.Row).Formula = "=IF(RC[-1]>0,RC[-4],R1C)"
- ElseIf Not Intersect(Target, [D5:D90000]) Is Nothing Then
- Range("K" & Target.Row).Formula = "=IF(RC[-2]<0,RC[-5],R1C[-1])"
- End If
- Application.EnableEvents = True
-
- End Sub
複製代碼 以下是thisworkbook- Option Explicit
- Private Sub Workbook_BeforeClose(Cancel As Boolean)
- Application.RTD.ThrottleInterval = 2000
- Application.Calculation = xlCalculationAutomatic
- End Sub
- Private Sub Workbook_Open()
- Const StartTime As Date = "08:45:00"
- Application.RTD.ThrottleInterval = 0
- Application.Calculation = xlCalculationManual
- Application.OnTime StartTime, "mySchedule"
- End Sub
複製代碼 以下是模組2- Option Explicit
- Dim NextTime As Date
- Sub RecordPrice()
- Calculate
- End Sub
- Sub mySchedule()
- Const StopTime As Date = "14:30:00"
- NextTime = Now + TimeValue("00:00:02")
- If TimeValue(NextTime) <= StopTime Then
- Application.OnTime EarliestTime:=TimeValue(NextTime), Procedure:="mySchedule"
- End If
- Call RecordPrice
- End Sub
- Sub Macro1()
- Sheet4.Range("g1:g2").Clear
- Sheet4.Range("a3:f3").Clear
- Sheet4.Range("a5:i90000").Clear
- End Sub
複製代碼 原則上只用到這幾個,在請G大跟我說上面那兩行加在哪裡可以讓畫面不再閃爍 |
|