nguyenmanhnam
Thành viên tiêu biểu
- Tham gia
- 24/7/10
- Bài viết
- 434
- Được thích
- 266
Em không biết Code trong bài toán của em có vấn đề gì không mà khi xoá Sheet kết quả đi cho nó chạy lại xảy ra hiện tượng: Chạy lần 1 nó báo lỗi 1004, ấn tiếp lần thứ 2 thì lại được. Em xin được Post Code và bài lên nhờ mọi người giúp.
PHP:
Sub TongVatTu()
Application.ScreenUpdating = False
'Loc lay vat tu
Dim n As Long, m As Long
m = S02.Range("C65000").End(xlUp).Row
If m > 5 Then
S02.Select
Rows("6:" & m + 1).Select
Selection.Delete Shift:=xlUp
End If
n = S01.Range("E65000").End(xlUp).Row
For i = 6 To n
If S01.Cells(i, 3) <> "công" And S01.Cells(i, 3) <> "ca" And S01.Cells(i, 3) <> "%" Then
m = S02.Range("C65000").End(xlUp).Row
DVT = S01.Cells(i, 3)
If S01.Cells(i, 4) <> 0 Then
S02.Cells(m + 1, 2) = S01.Cells(i, 2)
S02.Cells(m + 1, 3) = DVT
S02.Cells(m + 1, 7) = "=COUNTIF(R6C2:RC2,RC[-5])"
End If
End If
Next
'Xoa Vat tu trung va sort theo ten vat tu
m = S02.Range("G65000").End(xlUp).Row
For i = m To 6 Step -1
S02.Cells(i, 7).Select
If S02.Cells(i, 7) > 1 Then
Selection.EntireRow.Delete
End If
Next
m = S02.Range("C65000").End(xlUp).Row
Range("B6:C" & m).Select
Selection.Sort Key1:=Range("B6"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
'Lay tong so luong vat tu va tien cua tung vat tu
n = S01.Range("E65000").End(xlUp).Row
m = S02.Range("C65000").End(xlUp).Row
Columns("G:G").Select
Selection.ClearContents
For i = 6 To m
S02.Cells(i, 1) = i - 5
S02.Cells(i, 4) = "=SUMIF('Bang Du Toan'!R6C2:R" & n & "C2,RC[-2],'Bang Du Toan'!R6C5:R" & n & "C5)"
S02.Cells(i, 4).Select
Selection.NumberFormat = "#,##0.000"
S02.Cells(i, 6) = "=ROUND(RC[-2]*RC[-1],0)"
Next
'Trang tri bang va tính tong tien vat tu
m = S02.Range("F65000").End(xlUp).Row
Range("A6:F" & m).Select
With Selection
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlInsideVertical).LineStyle = xlContinuous
End With
Range("F" & m + 1).Select
ActiveCell.FormulaR1C1 = "=SUM(R6C6:R" & m & "C6)"
Application.ScreenUpdating = True
End Sub