返回列表 上一主題 發帖

EXCEL抓取CSV資料並即時更新

EXCEL抓取CSV資料並即時更新

我的檔案內容如下 是CSV格式
tttt.rar (136 Bytes)
5個資訊 我用顏色顯示 比較容易讓各位大大了解我的意思
小型台指月   奇狐_試用   2013/12/26 12:17:00   8500   1   

我想要用一個EXCEL檔
將上面的5個資訊
分別載入至EXCEL的 A1-E1個別儲存格(1個儲值格塞1個資訊)
並會一直更新
也就是
只要CSV的資料有變動
EXCEL也會馬上跟著變動

要有上述此種功能 VBA語法要如何

回復 1# bqwangs
主要是EXCEL檔案會一直開著
但CSV檔案 不會開啟 但內容資訊 會有更新

所以希望EXCEL抓取CSV資訊時
CSV是免開檔的方式抓取或隱式開啟的方式

期待各位大大的教導

TOP

回復 2# bqwangs
資料>取得外部資料>從文字檔

TOP

回復 12# bqwangs
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Ar
  4.     Ar = ExecuteExcel4Macro("'d:\[tttt.csv]tttt'!R1C1")
  5.     'd:\  請修改為正確路徑
  6.     Ar = Split(Trim(Ar), Space(2))
  7.     With ActiveSheet.[a1:e1]
  8.         .Value = Ar
  9.         .Value = .Value
  10.     End With
  11. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 bqwangs 於 2014-1-7 20:41 編輯

超級版主
我的版本是2010的
我試了
不行
是我不會弄
可以幫忙做一個檔案嗎
供我下載

TOP

回復 15# bqwangs
14# 的程式碼,可不開檔讀取資料,2003可正常執行.

另幕後開檔讀取資料,可參考
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Ar
  4.     'd:\  請修改為正確路徑
  5.     With GetObject("d:\tttt.csv").Sheets(1)
  6.         Ar = Split(Trim(.[a1]), Space(2))
  7.         .Parent.Close 0
  8.     End With
  9.     With ActiveSheet.[a1:e1]
  10.         .Value = Ar
  11.         .Value = .Value
  12.     End With
  13. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 bqwangs 於 2014-1-8 11:14 編輯

回復 16# GBKEE

版大
我依您的方式
弄了一個檔
t1.rar (12.93 KB)

他開啟時 需去按巨集 再按執行
才會抓取資料
但要如何 讓檔案開啟時
即自動抓資料 也會一直更新(只要CSV檔變動 EXCEL儲存格資料 也跟著變動)
類似同步

之前資料擷取儲值格位置是A1-E1
但如果我要改成A1 A2 B5 E5 C5
那又要如何改??

TOP

回復 17# bqwangs
你說 只要CSV檔變動 EXCEL儲存格資料 也跟著變動
CSV檔無法更新連結
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

版大
但我試著用 按巨集 再按執行
他會一直更新跟csv檔案一樣的資訊
有辦法改成 每秒 自動作  按巨集 再按執行1次嗎??

之前資料擷取儲值格位置是A1-E1
但如果我要改成A1 A2 B5 E5 C5
那又要如何改??

TOP

回復 19# bqwangs
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Ar As Variant, E As Range, i As Integer
  4.     'd:\  請修改為正確路徑
  5.     With GetObject("d:\tttt.csv").Sheets(1)
  6.         Ar = Split(Trim(.[a1]), Space(2))
  7.         .Parent.Close 0
  8.     End With
  9.     i = 0
  10.     For Each E In ActiveSheet.[A1,A2,B5,E5,C5]
  11.         E = Ar(i)
  12.         i = i + 1
  13.     Next
  14.     Application.OnTime Time + #12:00:01 AM#, "工作表1.Ex"
  15.     '程式在物件模組 OnTim 要指明 模組名稱

  16. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 閒人無樂趣,忙人無是非。
返回列表 上一主題