thaibinh_excel
Thành viên hoạt động
- Tham gia
- 18/10/07
- Bài viết
- 127
- Được thích
- 29
- Nghề nghiệp
- Bán Hàng
Cho mình hỏi thông thường tốc độ chạy của code VBA và công thức thì như thế nào a? Muốn code chạy nhanh hơn thì phải viết riêng cho code đó thêm 1 phần nữa hay có cách nào áp dụng chung không a?
Ví dụ mình đang sử dụng 1 code này, muốn nó chạy nhanh hơn thì phải làm sao ? Dữ liệu update khoảng 500 dòng.
( code này do anh ThuNghi làm giúp mình )
cám ơn mọi người.
TB
Ví dụ mình đang sử dụng 1 code này, muốn nó chạy nhanh hơn thì phải làm sao ? Dữ liệu update khoảng 500 dòng.
PHP:
Sub Updates()
Dim endR As Integer, iR As Integer, jR As Integer, k As Integer, i As Integer
Dim Data As Range
Dim Pro As String, Pur As String
With Application
.ScreenUpdating = False
End With
Worksheets("Products").Select
Range("P1:W10000").ClearContents
Range("K5:N10000").ClearContents 'xoa kq'
endR = [B65000].End(xlUp).Row
'Chuyen qua vung tmp de sort'
Range("T4:W4").Value = Range("B3:E3").Value 'Tieude'
Range("T5:W" & endR).Value = Range("B5:E" & endR).Value
Pur = "": Pro = ""
Cat = "": Set Data = Range("T4:W" & endR)
With Data 'Sort'
.Sort Key1:=Range("T5"), Order1:=xlAscending, Key2:=Range("U5") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
End With
k = 5
For i = endR To 5 Step -1
If Range("T" & i) = Range("T" & i - 1) Then
Pur = Pur & " " & Range("U" & i)
Pro = Pro & " " & Range("V" & i)
Cat = Cat & " " & Range("W" & i)
Else
'gan du lieu'
Pur = Pur & " " & Range("U" & i)
Pro = Pro & " " & Range("V" & i)
Cat = Cat & " " & Range("W" & i)
Range("K" & k) = Range("T" & i) 'CusID'
Range("L" & k) = Pur 'PurID'
Range("M" & k) = Pro 'Pro '
Range("N" & k) = Cat 'Cat '
Pur = "": Pro = ""
Cat = "": k = k + 1
End If
Next
jR = [K10000].End(xlUp).Row
Set Data = Range("K5:N" & jR) 'Sort lai KQ'
With Data
.Sort Key1:=Range("K5"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End With
Set Data = Nothing
Range("P1:W10000").ClearContents
With Application
.ScreenUpdating = False
End With
End Sub
( code này do anh ThuNghi làm giúp mình )
cám ơn mọi người.
TB
Chỉnh sửa lần cuối bởi điều hành viên: