返回列表 上一主題 發帖

DDE資料抓取,逐格顯示問題

請問這個例子要安裝什麼額外軟件才能運行?
80 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 6# GBKEE
謝謝回覆,不過有幾點問題
因為GBKEE大大沒有寫end if,讀起來有點不慣
程式是否指
  1. If Time > TimeValue("13:30") Then
  2. Exit Sub
  3. End If
  4. ...
  5. ...
  6. ...

  7. If InStr(.ResultRange.Rows(3).Cells(1), stockcode) = 0 Then  
  8. GoTo refresh_err:
  9. Else

  10. Application.EnableEvents = False

  11. Set myrange = mysheet.Range("a65536").End(xlUp).Offset(1).Resize(1, .ResultRange.Columns.Count - 1)
  12. myrange.Value = .ResultRange.Rows(3).Value

  13. Application.EnableEvents = True

  14. myrange.Select

  15. End If
  16. End With

  17. Application.OnTime Now + TimeValue("00:00:10"), "myprogram"

  18. exit sub   這個exit sub是對應什麼

  19. refresh_err:
  20. MsgBox "Stock " & stockcode & " cannot be found"

  21. End Sub
複製代碼
80 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 9# GBKEE
謝謝
我另外在"紀錄"一頁加了以下程式
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Target.Count > 1 Or Target.Address <> "$C$1" Then
  3. Exit Sub
  4. Else
  5. Sheet2.Range("A3:K65536").Clear
  6. myprogram  '和myDEE的程式一樣
  7. End If
  8. End Sub
複製代碼
原意是想當C1格子股票編號變動時,清空"紀錄"的資料以引入新股票訊息
有一點小問題,當該股票編號不存在時,會引發兩次"沒有該股票"的msgbox
理論上顯示msgbox後應該什麼也不動,不過程式卻額外連線至web,然後再執行msgbox
我用F8逐行程式執行也只顯示一次而已
不知有何解決法?
80 字節以內
不支持自定義 Discuz! 代碼

TOP

回復 11# GBKEE
多謝解答,但為什麼要做這樣的動作?
(1) 當instr(........,代號) = 0,程式會跳到最後refresh_err而不會做成重新呼叫mydee,現在卻要特意叫停?
(2) static一字,表面看其實用和不用也沒分別. 因為重覆運行, run_time的值是now+timevalue("00:00:10"),完全不需繼承run_time之前的數值; 不重覆運行,便會是application ontime 0:00:00,mydee,,false,也不用前面的值. 但是不用static,就是會出現問題.
我的理解究竟那裡發生問題?
80 字節以內
不支持自定義 Discuz! 代碼

TOP

        靜思自在 : 【是否發揮了良能?】人間壽命因為短暫,才更顯得珍貴。難得來一趟人間,應問是否為人間發揮了自己的良能,而不要一味求長壽。
返回列表 上一主題