返回列表 上一主題 發帖

[發問] [發問] VBA填入公式

回復 4# ABK


40個sheet 每個sheet算2000筆,也才8萬筆資料呀

VBA寫的好應該不需要太久才是,寫函數保證更慢,更卡
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

本帖最後由 n7822123 於 2018-12-5 13:41 編輯

回復 6# Scott090


scotto90 大大所言即是,用陣列會比較快,
因為版大沒有提供檔案,所以我就只寫一個sheet的VBA做為參考

Sub test()
Dim Arr, i%
Arr = Range([A1], Cells(Rows.Count, 1).End(3))
For i = 1 To UBound(Arr): Arr(i, 1) = Left(Arr(i, 1), 3): Next
[B1].Resize(UBound(Arr)) = Arr
End Sub
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

本帖最後由 n7822123 於 2018-12-7 00:20 編輯

回復 8# Scott090


喔喔,沒注意到第一列是標題列
用VBA寫函數就更簡單了,不用迴圈,一行解決
函數裡的A2會自動變更為A3,A4,A5

[B2].Resize([A1].End(4).Row-1) = "=LEFT(A2,3)"
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助

TOP

        靜思自在 : 不要小看自己,因為人有無限的可能。
返回列表 上一主題