nad582
Thành viên thường trực




- Tham gia
- 7/6/11
- Bài viết
- 317
- Được thích
- 48
Chào các a(c) trong GPE, e có vấn đề sau nhờ các a(c) cho ý kiến!!
E có đoạn code sau!!
khi chạy không biết vì lý do gì khi e save lại thì nó đột nhiên tăng lên dung lượng (file mới đầu là 180kb sau khi chạy code lên đến 5.450Kb hơn 5 MB mấy), nhưng khi xóa dữ liệu đi thì file trở lại bình thường!!
ko biết vì sao!! trong các đoạn code khác thì vẫn bình thường riêng đoạn code trên là làm file Excel tăng lên dung lượng!! xin cho e ý kiến!!
E có đoạn code sau!!
Mã:
Sub dapan()Dim Data(), Res(), I, J, K, N, X, Emin, Fmin, Fmax, Gmin, Gmax, Des
Data = Sheet3.Range(Sheet3.[A14], Sheet3.[U65000].End(3).Offset(1)).Value
ReDim Res(1 To UBound(Data), 1 To 21)
Set Des = Sheet3.[A14]
Sheet3.Rows("14:65000").Clear
I = 1: N = 1
Do
Fmax = -10000000: Gmax = -10000000
Emin = 10000000: Fmin = 10000000: Gmin = 10000000
Do
Emin = IIf(Data(I, 5) > Emin, Emin, Data(I, 5))
Fmin = IIf(Data(I, 6) > Fmin, Fmin, Data(I, 6))
Fmax = IIf(Data(I, 6) < Fmax, Fmax, Data(I, 6))
Gmin = IIf(Data(I, 7) > Gmin, Gmin, Data(I, 7))
Gmax = IIf(Data(I, 7) < Gmax, Gmax, Data(I, 7))
I = I + 1:
Loop Until Data(I, 3) <> Data(I - 1, 3)
For J = N To I - 1
If Data(J, 5) = Emin Or Data(J, 6) = Fmin Or _
Data(J, 6) = Fmax Or Data(J, 7) = Gmin Or Data(J, 7) = Gmax Then
K = K + 1
For X = 1 To 21
Res(K, X) = Data(J, X)
Next
End If
Next
N = J
Loop Until I >= UBound(Data) - 1
Des.Resize(K, 21) = Res
Sheet3.[A13:U13].Copy
Des.Resize(K, 21).PasteSpecial 4
End Sub
khi chạy không biết vì lý do gì khi e save lại thì nó đột nhiên tăng lên dung lượng (file mới đầu là 180kb sau khi chạy code lên đến 5.450Kb hơn 5 MB mấy), nhưng khi xóa dữ liệu đi thì file trở lại bình thường!!
ko biết vì sao!! trong các đoạn code khác thì vẫn bình thường riêng đoạn code trên là làm file Excel tăng lên dung lượng!! xin cho e ý kiến!!
