Board logo

標題: [發問] (發問)自動更新數據往下新增的問題● [打印本頁]

作者: yagami12th    時間: 2012-2-15 00:27     標題: (發問)自動更新數據往下新增的問題●

excel附檔:[attach]9584[/attach]

請教一下大家關於自動更新數據的相關問題,主要目的是要能每日更新數據並換算出結果最後產生出圖形
--------------------------------------------------------------------------------------------------------------
資料陳述如下:
“Sheet網站上每日五大”的工作表是已設定好與”期交所”網頁資料做連結,下午四點半按重新整理就會更新成”當天的資訊”

“Sheet期貨大額交易者”裡頭是每一天的數據整理後的結果(從2004/7到2012/2/10)
----------------------------------------------------------------------------------------------------------------

首先處理的是”全市場未沖銷部位數的數據”
s1 點選SHEET”網站上每日五大”後,先處理日期資料,點選a1欄位後,複製a1欄位的值。點sheet”期貨大額交易者”後,貼到a1897的下一格(a1898)。

s2 點選SHEET”網站上每日五大”後,複製k8欄位的值,點sheet”期貨大額交易者”後,貼到b1897的下一格(b1898)。

s3再點SHEET”網站上每日五大”後,複製k10欄位的值,點sheet”期貨大額交易者”後,貼到c1897的下一格(c1898)。

s4 再點選sheet”期貨大額交易者”    計算D1898的值=C1898-B1898

錄的節果如下:
Sub largeOItest
  Range("A1898").Select
    ActiveCell.FormulaR1C1 = "=網站上每日五大交易人期貨!R[-1892]C"  ‘貼上今天的日期資料
    Range("B1898").Select
    ActiveCell.FormulaR1C1 = "=網站上每日五大交易人期貨!R[-1885]C[9]" ‘貼上今天的(近月)全市場所有未沖銷部位
    Range("C1898").Select
    ActiveCell.FormulaR1C1 = "=網站上每日五大交易人期貨!R[-1883]C[8]" ‘貼上今天的(所有月)全市場所有未沖銷部位

    Range("D1898").Select
    ActiveCell.FormulaR1C1 = "=RC[-1]-RC[-2]" ‘將所有月的未沖銷部位與近月相減,算出遠月資料

End Sub
--------------------------------------------------------------------------------------------------
s5 最後把今日整理完畢的excel新增數據結果,把近五日的資料複製,貼上到”sheet分析總表”中的,a3到d7欄
  
  Range("A1893:D1897").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("分析總表").Select
    Range("A3").Select
    ActiveSheet.Paste
End Sub
-----------------------------------------------------------------------------------------------------------
問題點:
問題1,關於s2到s4,今天是將網站上抓一個總表,再從總表內找幾個會用到的數據,貼到sheet期貨大額的這個工作表的a1898和b1898和c1898這三個欄位,因為每一天的下一格都會變,今天是a1898,明天會變成a1899。請問一下大家,如果說要做成每天自動更新往下新增資料的話,該怎麼寫。

問題2,關於s5,目的是將”sheet期貨大額”裡的整理完畢的近五日數據,往sheet”分析總表”的a3到d7欄貼,所以a3到d7欄範圍是固定的參數,但sheet期貨大額裡的資料,因為每一天如果一直往下新增,欄位會一直變化,無法順利的將近五日的資料貼到”分析總表”裡頭
------------------------------------------------------------------------------------------------------------
先謝謝各位了。
作者: GBKEE    時間: 2012-2-15 10:17

回復 1# yagami12th
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Ar(), Ar1()
  4.     With Sheets("網站上每日五大交易人期貨")
  5.         Ar = Array(.[A1].Text, .[K8], .[K10], .[K10] - .[K8])        '數據置入陣列
  6.     End With
  7.     With Sheets("期貨大額交易者(特法,非特法)").Cells(Rows.Count, "A").End(xlUp) '最後一個有資料的儲存格
  8.         .Offset(1).Resize(1, 4) = Ar                                             '位移下一列
  9.     End With
  10.     With Sheets("分析總表")
  11.         Ar1 = .[A4:D8].Value   '取前4天數據 置入二維陣列
  12.         Ar1(5, 1) = Ar(0)      '加入第5天數據
  13.         Ar1(5, 2) = Ar(1)
  14.         Ar1(5, 3) = Ar(2)
  15.         Ar1(5, 4) = Ar(3)
  16.         .[A3:D7] = Ar1   '還原5天的數據
  17.     End With
  18. End Sub
複製代碼

作者: yagami12th    時間: 2012-2-15 11:22

回復 2# GBKEE

回GBKEE大,實在太感謝了,我正在試另一個那個檔案中。
作者: bhsm    時間: 2012-3-11 18:19

這個方法也是我想學的.可惜權限不夠無法下載原始檔一窺究竟




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)