hoabattu3387
Thành viên chính thức
- Tham gia
- 11/9/08
- Bài viết
- 91
- Được thích
- 2
Các bạn xem giúp mình có cách nào làm tăng tốc độ của đoạn code sau không ạ?
Mình mới tập tọe nên cà rốt quá!
Sub Oval1_Click()
Dim i, j, a, b, m, t, k As Integer
Dim arr(), arr1()
Application.ScreenUpdating = False
Set t24 = ThisWorkbook.Sheets("CHECK TIMEOUT")
Set way4 = ThisWorkbook.Sheets("way4")
t24.Columns("k:L").ClearContents
m = way4.Range("I65536").End(xlUp).Row
n = t24.Range("h65536").End(xlUp).Row
ReDim arr(1 To m, 1 To 6)
For t = 1 To m
arr(t, 1) = way4.Range("a" & t)
arr(t, 2) = Right(way4.Range("i" & t), 6)
arr(t, 3) = way4.Range("l" & t)
arr(t, 4) = way4.Range("t" & t)
Next
ReDim arr1(1 To n, 1 To 9)
For o = 1 To n
For p = 1 To 9
arr1(o, p) = t24.Cells(o, p)
Next
Next
For i = 1 To m
For j = 1 To n
If Application.And(arr(i, 2) = arr1(j, 8), arr1(j, 9) = "MAT") Then
arr(i, 6) = "time-out"
arr(i, 5) = arr1(j, 1)
Else
If Application.And(arr(i, 2) = arr1(j, 8), arr1(j, 9) = "") Then
For k = 1 To n
If arr1(k, 9) = "REVE" Then
arr(i, 6) = "Reverse"
arr(i, 5) = arr1(j, 1)
Else
End If
Next
Else
End If
End If
Next
Next
Set KETQUA = ThisWorkbook.Sheets("ket qua")
KETQUA.Columns("A:E").ClearContents
KETQUA.Columns("A:E").NumberFormat = "@"
KETQUA.Range("A1:f" & m) = arr
KETQUA.Range("E1") = "BUT TOAN"
KETQUA.Range("f1") = "KET QUA"
Application.ScreenUpdating = True
End Sub
Cảm ơn cả nhà nhiều ạ!
Mình mới tập tọe nên cà rốt quá!
Sub Oval1_Click()
Dim i, j, a, b, m, t, k As Integer
Dim arr(), arr1()
Application.ScreenUpdating = False
Set t24 = ThisWorkbook.Sheets("CHECK TIMEOUT")
Set way4 = ThisWorkbook.Sheets("way4")
t24.Columns("k:L").ClearContents
m = way4.Range("I65536").End(xlUp).Row
n = t24.Range("h65536").End(xlUp).Row
ReDim arr(1 To m, 1 To 6)
For t = 1 To m
arr(t, 1) = way4.Range("a" & t)
arr(t, 2) = Right(way4.Range("i" & t), 6)
arr(t, 3) = way4.Range("l" & t)
arr(t, 4) = way4.Range("t" & t)
Next
ReDim arr1(1 To n, 1 To 9)
For o = 1 To n
For p = 1 To 9
arr1(o, p) = t24.Cells(o, p)
Next
Next
For i = 1 To m
For j = 1 To n
If Application.And(arr(i, 2) = arr1(j, 8), arr1(j, 9) = "MAT") Then
arr(i, 6) = "time-out"
arr(i, 5) = arr1(j, 1)
Else
If Application.And(arr(i, 2) = arr1(j, 8), arr1(j, 9) = "") Then
For k = 1 To n
If arr1(k, 9) = "REVE" Then
arr(i, 6) = "Reverse"
arr(i, 5) = arr1(j, 1)
Else
End If
Next
Else
End If
End If
Next
Next
Set KETQUA = ThisWorkbook.Sheets("ket qua")
KETQUA.Columns("A:E").ClearContents
KETQUA.Columns("A:E").NumberFormat = "@"
KETQUA.Range("A1:f" & m) = arr
KETQUA.Range("E1") = "BUT TOAN"
KETQUA.Range("f1") = "KET QUA"
Application.ScreenUpdating = True
End Sub
Cảm ơn cả nhà nhiều ạ!