返回列表 上一主題 發帖

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

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

TOP

回復 3# jackson184
如圖 插入一模組 將下列兩程序貼上

  1. Option Explicit             '在模組層次中強迫每個在模組�堛瘍僂くㄔ眸楨�確的宣告。
  2. Dim Rng As Range            ' 通用於模組(Module) 內的私用變數
  3. Private Sub AUTO_OPEN()     '此巨集於檔案開啟時會自動執行
  4.     With Sheets("90")
  5.         .UsedRange.Offset(1).Clear                '清除 前一日的數據
  6.         Set Rng = .Range("A2:A31,F2:F31,K2:K31")  '數據傳回的區域,為多重範圍.
  7.     End With
  8.     If Time < TimeValue("08:45") Then             '早於開盤時間
  9.         Application.OnTime TimeValue("08:45"), "MyDee"    '設定於08:45 執行 MyDee 程序
  10.     ElseIf Time >= TimeValue("08:45") And Time <= TimeValue("13:30") Then '於交易時間內
  11.         MyDee                                     ' 執行 MyDee 程序
  12.     End If
  13. End Sub
  14. Private Sub MyDee()
  15.     Dim A As Integer, Ar(), R As Integer, C As Integer
  16.      If Time > TimeValue("13:30") Then Exit Sub     ' 收盤時間後 停止執行
  17.     A = Application.CountA(Rng)             '計算 (數據傳回的區域)有資料儲存格的總數
  18.     If A <= 29 Then C = A + 1               'C 為  數據傳回的區域的列位
  19.     If A Mod 30 >= 0 Then C = (A Mod 30) + 1
  20.     R = Int(A / 30) + 1                     'R 為多重範圍的第幾個範圍
  21.     With Sheets("連結")
  22.         Ar = Array(Now, A + 1, .Range("I2"), .Range("J2"))
  23.         'Ar 為取得  1. 時間, 2.項次,3.最高價 ,4,最低價  '找不到 ->  收盤價找不到
  24.         'Ar = Array(Now, A + 1, .Range("I2"), .Range("J2"), 收盤價 ) '有收盤價
  25.     End With
  26.     Rng.Areas(R).Cells(C).Resize(1, 4) = Ar
  27.     'Rng.Areas(R).Cells(C).Resize(1, 5) = Ar   '有收盤價
  28.     Application.OnTime Now + TimeValue("00:10"), "MyDee"  '設定 10分後 執行 MyDee 程序
  29. End Sub
複製代碼

TOP

回復 2# GBKEE


    WMS-Test.rar (12.14 KB)

先感謝GBKEE幫忙,
檔案中有三個頁面,
第一頁: 我要觀查WMS指數.
第二頁:抓取第三頁卷商DDE回傳的數據, 需要逐格記錄90次. 每10分鐘抓取一次.
第三頁:卷商DDE數據.

很抱歉, VBA剛學習中, 看過各位討論, 還不太容易上手,
因為是小學生資格, 沒辦法下載檔案.

或者請GBKEE或各位大大給個方向, 我再慢慢學習, 再請各位檢查.

WMS-Test.rar (12.14 KB)

Jackson

TOP

回復 1# jackson184
傳檔來試試

TOP

        靜思自在 : 一個缺口的杯子,如果換一個角度看它,它仍然是圓的。
返回列表 上一主題