Đưa nó tuốt luốt xuống dưới luôn, cho nó nằm cố định tại chỗ, muốn merge, format, tô màu... gì đó thì tùy.2. Cái phần dưới bị mất từ dòng tổng cộng trở xuống bị xóa hết. Không có dòng tổng cộng và phần ngày tháng, người lập, tên, ... bị xóa hết.
Dạ Em chỉnh sửa lại chổ này rồi. Còn dòng tổng cộng hiện tại em còn sử dụng công thức, xin code cho dòng tổng cộng này.Đưa nó tuốt luốt xuống dưới luôn, cho nó nằm cố định tại chỗ, muốn merge, format, tô màu... gì đó thì tùy.
Từ dòng 10 đến 1000 không có dữ liệu thì ẩn dòng.
Tôi không nghĩ là 2 công thức Sum() làm nặng file của bạn.Dạ Em chỉnh sửa lại chổ này rồi. Còn dòng tổng cộng hiện tại em còn sử dụng công thức, xin code cho dòng tổng cộng này.
Cảm ơn nhiều!!!
Public Sub s_Gpe()
Application.ScreenUpdating = False
Dim sArr(), dArr(), I As Long, J As Long, K As Long, R As Long, Tong As Double
sArr = Sheets("CHUNGTU").Range("A6", Sheets("CHUNGTU").Range("A6").End(xlDown)).Resize(, 9).Value
R = UBound(sArr)
ReDim dArr(1 To R * 2, 1 To 8)
For I = 1 To R
If sArr(I, 1) <> Empty Then
K = K + 1
For J = 1 To 4
dArr(K, J) = sArr(I, J): dArr(K + 1, J) = sArr(I, J)
Next J
dArr(K, 5) = "x": dArr(K + 1, 5) = "x"
dArr(K, 6) = sArr(I, 6): dArr(K + 1, 6) = sArr(I, 8)
dArr(K, 7) = sArr(I, 9): dArr(K + 1, 8) = sArr(I, 9)
K = K + 1
Tong = Tong + sArr(I, 9)
End If
Next I
With Sheets("SONKC")
.Rows("10:1000").EntireRow.Hidden = False
.Range("I1002:J1002") = Tong
If K Then
.Range("C10").Resize(K, 8) = dArr
.Rows(K + 10 & ":1000").EntireRow.Hidden = True
End If
End With
Application.ScreenUpdating = True
End Sub
Tôi không nghĩ là 2 công thức Sum() làm nặng file của bạn.
Nếu muốn tự có số Tổng cho 2 ô này thì nó chỉ là 1 số, gán vào 2 ô.
Sheet "CHUNGTU" bạn "khóa đít" bằng con số 999 nên tôi viết code thế này:
PHP:Public Sub s_Gpe() Application.ScreenUpdating = False Dim sArr(), dArr(), I As Long, J As Long, K As Long, R As Long, Tong As Double sArr = Sheets("CHUNGTU").Range("A6", Sheets("CHUNGTU").Range("A6").End(xlDown)).Resize(, 9).Value R = UBound(sArr) ReDim dArr(1 To R * 2, 1 To 8) For I = 1 To R If sArr(I, 1) <> Empty Then K = K + 1 For J = 1 To 4 dArr(K, J) = sArr(I, J): dArr(K + 1, J) = sArr(I, J) Next J dArr(K, 5) = "x": dArr(K + 1, 5) = "x" dArr(K, 6) = sArr(I, 6): dArr(K + 1, 6) = sArr(I, 8) dArr(K, 7) = sArr(I, 9): dArr(K + 1, 8) = sArr(I, 9) K = K + 1 Tong = Tong + sArr(I, 9) End If Next I With Sheets("SONKC") .Rows("10:1000").EntireRow.Hidden = False .Range("I1002:J1002") = Tong If K Then .Range("C10").Resize(K, 8) = dArr .Rows(K + 10 & ":1000").EntireRow.Hidden = True End If End With Application.ScreenUpdating = True End Sub