[VBA ] 迴圈效率改善?

看板Visual_Basic作者 (科科)時間17年前 (2008/11/17 09:08), 編輯推噓2(2016)
留言18則, 3人參與, 最新討論串1/1
VBA的迴圈...實在有點慢XD 想請問一下對於sql丟出來的資料 sql欄位 Machine State Time 要換成 excel表格 state(x) Maching(y) time(x,y) 如果把他存成ARRAY一次貼上 V.S 一格一格指定值 還是有什麼比較快速的方法? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.146.123.125

11/17 09:21, , 1F
直接上,中間加一層陣列,多此一舉,浪費記憶體配置時間
11/17 09:21, 1F

11/17 09:35, , 2F
硬幹就對了XD
11/17 09:35, 2F

11/17 10:01, , 3F
應該是硬幹比較好…因為Excel表格本身就是一個超大的
11/17 10:01, 3F

11/17 10:02, , 4F
sparse matrix了,自己有存取和配置機制…
11/17 10:02, 4F

11/17 10:05, , 5F
好像還有更直接的方法,以下是一篇KB,還沒時間看…
11/17 10:05, 5F

11/17 10:05, , 6F

11/17 11:07, , 7F
因為資料有點份量 (兩千格左右) 所以才想問有沒有方法
11/17 11:07, 7F

11/17 11:07, , 8F
可以快一點XD
11/17 11:07, 8F

11/17 14:39, , 9F
是有比較快的方法 假設你的陣列是arrTime(x,y)
11/17 14:39, 9F

11/17 14:41, , 10F
MyDocApp1.Range("A1:F6").Value = arrTime
11/17 14:41, 10F

11/17 14:42, , 11F
MyDocApp1 是Excel.Application range中的範圍要自己先算好
11/17 14:42, 11F

11/17 14:43, , 12F
如果你要直接把select的結果直接貼上的話
11/17 14:43, 12F

11/17 14:44, , 13F
MyDocApp1.Cells(1,1).CopyFromRecordset rs
11/17 14:44, 13F

11/17 14:45, , 14F
cells是看你要從哪一格貼起 rs是Recordset
11/17 14:45, 14F

11/17 22:11, , 15F
謝謝T俱樂部 還有月亮雷克:P
11/17 22:11, 15F

11/17 23:05, , 16F
這個ID是 梅花10 和什麼俱樂部沒關係XD
11/17 23:05, 16F

11/17 23:31, , 17F
唔,MOONRAKER是Bond第11集,史上最白爛的詹姆士龐德
11/17 23:31, 17F

11/18 14:37, , 18F
梅花跟俱樂部是一樣的 (煙)
11/18 14:37, 18F
文章代碼(AID): #198CFzIx (Visual_Basic)