標題:
一個關於VBA自動即時繪製股票圖的問題
[打印本頁]
作者:
twispin
時間:
2015-5-5 20:18
標題:
一個關於VBA自動即時繪製股票圖的問題
我的活頁簿有兩個工作表,一個是美元指數、另一個是台指期
"美元指數"工作表的model如下,"台指期"的內容一模一樣,只是把"美元指數"換成"台指期"
兩個工作表都是每隔十秒去記錄數據,然後把數據畫成圖
基本上記錄數據和畫圖都沒有問題
但很奇怪的是,我"同時啟動"兩個工作表的巨集時,為的是兩個工作表同時記錄各自的數據、畫各自的圖
可是我的畫面停在"美元指數"工作表他會正常運作,在這個同時"台指期"工作表的巨集卻暫停記錄數據和畫圖
那麼如果畫面停在"台指期",他會開始正常運作,可是"美元指數"卻暫停運作了
總之只有我畫面上的工作表會正常運作,另一個就會暫停
而運作的這個也有點怪,程式中明明是10秒紀錄一次,會變成5秒就紀錄一次!!
除非我一次只執行一個工作表的巨集才會正常...
請問是哪裡出了問題?謝謝!
Dim Total_Num As Integer
Private Sub Workbook_Open()
Total_Num = 0 '設定初值
Sheets("美元指數").Select '設定一開啟要使用的工作表名稱
Range("L14").Select '設定一開始的儲存格位置
Call 紀錄美元指數設定
End Sub
Private Sub 紀錄美元指數設定()
Total_Num = Total_Num + 1 '每執行一次就+1
If Total_Num <= 18000 Then
Application.OnTime Now + TimeValue("00:00:10"), "紀錄美元指數" '每10秒紀錄一次
End If
End Sub
Sub 紀錄美元指數()
'
' 紀錄1 Macro
' iamtwispin 在 2015/4/11 錄製的巨集
'
' 快速鍵: Ctrl+o
'Real
x = 24 '內盤
While Cells(x, 2).Value <> ""
x = x + 1
Wend
Cells(x, 2).Value = Cells(23, 2).Value
x = 24 '外盤
While Cells(x, 3).Value <> ""
x = x + 1
Wend
Cells(x, 3).Value = Cells(23, 3).Value
Call 紀錄美元指數設定
End Sub
複製代碼
作者:
GBKEE
時間:
2015-5-7 07:20
回復
1#
twispin
試試看
Sub 紀錄美元指數()
Dim x As Integer
With Sheets("美元指數") '不管畫面(ActiveSheet [作用中的工作表])在哪裡
x = 24 '內盤
While .Cells(x, 2).Value <> ""
x = x + 1
Wend
.Cells(x, 2).Value = .Cells(23, 2).Value
x = 24 '外盤
While .Cells(x, 3).Value <> ""
x = x + 1
Wend
.Cells(x, 3).Value = .Cells(23, 3).Value
End With
Call 紀錄美元指數設定
End Sub
複製代碼
作者:
twispin
時間:
2015-5-7 16:29
可以了~
感謝GB大
作者:
twispin
時間:
2015-5-7 16:30
不過如果切換到另一個活頁簿的話
會出現錯誤訊息
於是我又把workbooks("XX.xls")加進去
讓它更精準的定位
就可以囉~
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)