XD360 KÍNH CHÚC CHO MỌI NHÀ VẠN SỰ AN LÀNH!

Phần mềm ôn thi sát hạch chứng chỉ hành nghề xây dựng

 Quên mật khẩu
 Đăng ký mới
Anh Trần HòeBùi Quốc Hưng
Xem: 10497|Trả lời: 1
In Chủ đề trước Tiếp theo
Thu gọn cột thông tin

[Cần giúp đỡ] Tạo subtotal tự động ở trang in bằng VBA

[Lấy địa chỉ]

Hãy đăng nhập để có nhiều chức năng hữu dụng hơn và xem ảnh rõ hơn!

Bạn phải đăng nhập để xem được nội dung, nếu bạn chưa có tài khoản? hãy Đăng ký mới

x
Chào mọi người. Em đang tìm hiểu VBA. Hiện e đang tham khảo và chỉnh sửa 1 code trong 1file excel mẫu mà kết quả tạo thành subtotal kết thúc mỗi trang in trong bảng tính nhiều trang và nhiều sheet. Do em với tìm hiểu về VBA, nên còn lỗi. Đó là:
- Khi em tạo subtotal cuối trang (bao gồm 2 dòng trống và 1 dòng chứa subtotal) thì 1 dòng trắng nhảy qua trang sau.
- Khi em remove subtotal cuối trang khi e muốn chỉnh sửa thì chỉ xóa được 1 dòng subtotal nhưng không thể xóa được 2 dòng trắng kia.
Nhờ mọi người xem giúp lỗi giúp em vì e đang cần sử dụng cho dự án. Anh chị nào có file mẫu cho em xin, em rất cảm ơn ạ.
[Visual Basic] 纯文本查看 复制代码
Option Explicit

Public Sub AddFooterX()
Application.ScreenUpdating = False
Dim myPage As HPageBreak, iP As Integer, iRb As Integer, iRe As Integer, nRbt As Integer, iReE As Integer
Dim nP As Integer
Dim myviewmode, mysheet
    mysheet = ActiveSheet.Name
    myviewmode = ActiveWindow.View
With Sheets(mysheet).Range("A13")
    Sheets(mysheet).Cells.RemoveSubtotal
End With

iRb = TEMP.Range("DongBatDau").Value
iReE = TEMP.Range("DongCuoiCung").Value + 1
nRbt = TEMP.Range("CONGHETTRANG").Rows.Count
With Sheets(mysheet)
    nP = .HPageBreaks.Count
    .Range("A" & iReE).Value = 1
    .Range("A" & iReE + 1 & ":A" & (iReE + nP * nRbt)).Formula = "=R[-1]C+1"

    iP = 0
End With
With Sheets(mysheet)

For iP = 1 To nP + 1
    If iP <= nP Then
        iRe = Sheets(mysheet).HPageBreaks(iP).Location.Row - nRbt + 1
        TEMP.Range("CONGHETTRANG").Copy
    Else
        iRe = nP * nRbt + TEMP.Range("DongCuoiCung").Value + 1
        TEMP.Range("CongTrangCuoi").Copy
    End If
    Rows(iRe).Insert xlShiftDown, True


    
    .Range("F" & iRe + 1).Formula = "=SUBTOTAL(9,F" & TEMP.Range("DongBatDau").Value & ":F" & (iRe - 1) & ")"
    .Range("G" & iRe + 1).Formula = "=SUBTOTAL(9,G" & TEMP.Range("DongBatDau").Value & ":G" & (iRe - 1) & ")"
    If iP <= nP Then
        .Range("F" & (iRe + nRbt - 1)).Formula = .Range("F" & (iRe + 1)).Formula
        .Range("G" & (iRe + nRbt - 1)).Formula = .Range("G" & (iRe + 1)).Formula
    Else
        .Range("F" & iRe + 2).Formula = "=F" & TEMP.Range("DongBatDau").Value - 1 & "+F" & (iRe + 1) _
                                            & "-G" & TEMP.Range("DongBatDau").Value - 1 & "-G" & (iRe + 1)
        If .Range("F" & iRe + 2).Value < 0 Then
            .Range("G" & iRe + 2).Formula = "=-F" & TEMP.Range("DongBatDau").Value - 1 & "-F" & (iRe + 1) _
                                            & "+G" & TEMP.Range("DongBatDau").Value - 1 & "+G" & (iRe + 1)
            .Range("F" & iRe + 2).ClearContents
        End If
    
    End If
    iRb = iRe + nRbt
Next iP
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub


Public Sub XoaFooterX()
Dim mysheet
    mysheet = ActiveSheet.Name
With Sheets(mysheet)
    Application.ScreenUpdating = False
    .Range("A13").Select
    .Cells.RemoveSubtotal
    Application.ScreenUpdating = True
 End With
End Sub



EndPageSum thuc2.xls

80.5 KB, Lượt tải về: 323

Subtotal cuối trang in

www.xaydung360.vn XÂY TÂM, DỰNG TẦM CHUYÊN NGHIỆP

Phiên bản Mobile|Phần mềm ôn thi sát hạch chứng chỉ hành nghề xây dựng  

Phần mềm dự toán xây dựng excel | Hướng dẫn lập dự toán xây dựng | Phần mềm tư vấn giám sát | Phần mềm quản lý chất lượng xây dựng |

Phần mềm ôn thi sát hạch chứng chỉ hành nghề xây dựng

Phần mềm ôn thi sát hạch chứng chỉ hành nghề Kiến Trúc sư

Phần mềm ôn thi sát hạch chứng chỉ hành nghề Đấu thầu

GMT+7, 25/4/2024 17:55 , Processed in 0.102517 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Kiso Comsenz Inc.