- 帖子
- 15
- 主題
- 6
- 精華
- 0
- 積分
- 58
- 點名
- 0
- 作業系統
- Windows 7
- 軟體版本
- Office 2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2015-7-31
- 最後登錄
- 2018-5-6
|
6#
發表於 2015-10-16 16:29
| 只看該作者
感恩GBKEE 版主,最近反覆測試幾次,依然無法在09:00開盤後自動紀錄開盤量也不會在09:00之前清除紀錄欄位,但如果是手動啟動的話就會有值,以下是我套用在我的excel上的程式,是否問題是出在要寫入自動啟動程式的function!!
Option Explicit
'自選股 工作表模組
Private Sub AWorksheet_Calculate()
Dim Rng As Range, E As Range
On Error Resume Next
If IsError([A9]) Then Exit Sub '檔案開啟時DEE會傳回 @N/A
If Time < #9:00:00 AM# Then
Set Rng = UsedRange.SpecialCells(xlCellTypeFormulas, xlErrors)
If Not Rng Is Nothing Then Debug.Print Time, Not Rng Is Nothing
With Range("A9", Range("A9").End(xlDown))
.Columns("K") = "" ''清空H欄的第一筆量
End With
Exit Sub
End If
Set Rng = Range("A9", Range("A9").End(xlDown)).Columns("K") 'K欄(第一筆量)的位置
If Time >= #9:00:00 AM# And Rng.Count <> Application.Count(Rng) Then
' K欄的個數<>K欄有數字的個數,還有股票第一筆量沒有輸入
Application.EnableEvents = False
For Each E In Rng.Cells
If E = "" And E.Cells(1, 2) > 0 Then
E = E.Cells(1, 2)
End If
Next
Application.EnableEvents = True
End If
End Sub |
|