看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《u19901006 (U)》之銘言: : 我目前使用的方法是Worksheet.cell.Value = 陣列 : 再使用For Next迴圈讓它跑 : 可是真的很慢(我快瘋掉了,跑一次要幾百秒= =) : 有想過直接印出陣列這種方法 可是我不會寫QQ : 請問有不使用迴圈而直接輸出的方法嗎? : 麻煩大家了 可以試試看這個方式 貼個小範例 請再依照需要印出陣列範圍修改一下吧!! 寫滿一頁滿格 還算蠻快吧(!!??)約10幾秒 ~ Sub Example() Dim myarr() myarr = Sheet1.Range("A1:IV65536").Value For i = 1 To 65536 For j = 1 To 256 myarr(i, j) = i + j Next j Next i Sheet1.Range("A1:IV65536").Value = myarr End Sub -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.177.147
KnightG:記憶體會佔蠻大的 請小心測試填一頁滿格 04/25 02:17
u19901006:咦?這樣跑得出來嗎 我改成Sheet5結果跑不出來QQ 04/25 02:46
u19901006:不過我的電腦居然跑了9X秒 看來是我的筆電太爛 04/25 02:47
u19901006:但還是感謝您:) 04/25 02:49
ClubT:有可能是防毒軟體的關係 ... 我有碰過會檢查VBA處理的防毒 04/25 09:00
KnightG:奇怪 array去填range應該會比cell用for填快多才對 04/25 23:28
KnightG:還是我會錯意了@@ 04/25 23:28
u19901006:我找到問題了 因為我前面的活頁簿有反覆運算和自動計算 04/26 00:42
u19901006:開新檔案後速度就改善很多:) 04/26 00:42