Code cập nhật chân trang

  • Thread starter Thread starter NH_DK
  • Ngày gửi Ngày gửi
Liên hệ QC

NH_DK

Let's patience
Tham gia
29/7/10
Bài viết
865
Được thích
1,203
Nghề nghiệp
Kế toán
A/C xem va sửa cho em code cập nhật chân trang. Em đã làm nhưng nó cập nhật được nhưng dữ liệu cũ vẫn chưa xoá được.
(Sửa ở sổ Nhật ký chung)
 
Lần chỉnh sửa cuối:
Code chân trang:

PHP:
Sheet22.[a17:i21].Copy [a12].Offset(i - 12)
    With [a12].Offset(i - 12, 7)
        .FormulaR1C1 = "=Sum(R12C:R[-1]C)": .Value = .Value
    End With
    With [a12].Offset(i - 12, 8)
        .FormulaR1C1 = "=Sum(R12C:R[-1]C)": .Value = .Value
    End With

Phải thêm code xoá thế nào nữa để khi lọc dù dữ liệu nhiều hay ít thì nó chỉ hiện 1 vùng chân trang thôi ah!
 
Upvote 0
Code chân trang:

PHP:
Sheet22.[a17:i21].Copy [a12].Offset(i - 12)
    With [a12].Offset(i - 12, 7)
        .FormulaR1C1 = "=Sum(R12C:R[-1]C)": .Value = .Value
    End With
    With [a12].Offset(i - 12, 8)
        .FormulaR1C1 = "=Sum(R12C:R[-1]C)": .Value = .Value
    End With
Phải thêm code xoá thế nào nữa để khi lọc dù dữ liệu nhiều hay ít thì nó chỉ hiện 1 vùng chân trang thôi ah!
1/ File muốn hỏi thì bạn chỉ cần đưa sh cần làm và sh nguồn => nhẹ file down.
2/
PHP:
Sub LocSo205()
...
    n = SDich.Range("I65000").End(xlUp).Row
    SDich.Range("A12:I" & n).Clear 'Contents
Bạn nên thay
PHP:
SDich.Range("A12:I" & n).Clear
Thành
PHP:
SDich.Range("A12:I65000").Clear
Mình dự trù dòng max.
3/
PHP:
    With [a12].Offset(i + 1, 7)
        .FormulaR1C1 = "=Sum(R12C:R[-1]C)" ': .Value = .Value
    End With
thành
PHP:
With [a12].Offset(i - 12, 7)
        .FormulaR1C1 = "=Sum(R12C:R[-1]C)" ': .Value = .Value
    End With
Bạn sai ở chỗ là tại dòng 12 (A12) offset i +1
Có thể dồn chung cộng Nợ và Có 1 dòng code.
Code viết dài quá. Dù sao cũng ghi nhận bạn vận dụng rất tốt từ GPE.
Ráng lên.
 
Upvote 0
Anh ThuNghi ơi, em đã làm theo cách của anh rồi và đã thanh công. Nhưng sao chi có thêm:
PHP:
SDich.Range("A12:I65000").Clear
mà sao dung lượng lại tăng lên nhiều vậy? Từ 3Mb lên 5Mb đây anh ah!
 
Lần chỉnh sửa cuối:
Upvote 0
Anh ThuNghi ơi, em đã làm theo cách của anh rồi và đã thanh công. Nhưng sao chi có thêm:
PHP:
SDich.Range("A12:I65000").Clear
mà sao dung lượng lại tăng lên nhiều vậy? Từ 3Mb lên 5Mb đây anh ah!
Vậy xoá luôn cho khoẻ. thay dòng trên thành

PHP:
Const dongcuoi As Long = 10000
     Set SNguon = Sheets("DATA")
    Set sdich = Sheets("NKC")
    On Error Resume Next
    Application.ScreenUpdating = False
    With Sheets("NKC")
      .Row("12:" & dongcuoi).Delete Shift:=xlUp
    End With
    m = SNguon.Range("I65000").End(xlUp).Row
Bạn có thể thay dongcuoi=xxx
 
Upvote 0
Vậy tất cả là thế này hả anh:

PHP:
Sub LocSo205()
    Set SNguon = Sheets("DATA")
    Set SDich = Sheets("NKC")
    On Error Resume Next
    Application.ScreenUpdating = False
    n = SDich.Range("I50000").End(xlUp).Row
    Const dongcuoi As Long = 650000
     Set SNguon = Sheets("DATA")
    Set SDich = Sheets("NKC")
    On Error Resume Next
    Application.ScreenUpdating = False
    With Sheets("NKC")
      .Row("12:" & dongcuoi).Delete Shift:=xlUp
    End With
    SDich.Range("A12:I50000").Clear
    'SDich.Range("A12:I" & n).Clear
    m = SNguon.Range("I65000").End(xlUp).Row
    SNguon.Range("A12:I" & m).Copy Destination:=SDich.Range("A12")
    With SDich
        n = .Range("I65000").End(xlUp).Row
        For i = 12 To n
            If .Range("B" & i) = .Range("B" & i - 1) Then
                .Range("A" & i & ":C" & i) = ""
            End If
         Next
    End With
         Sheet22.[a17:i21].Copy [a12].Offset(i - 12)
    With [a12].Offset(i - 12, 7)
        .FormulaR1C1 = "=Sum(R12C:R[-1]C)": .Value = .Value
    End With
    With [a12].Offset(i - 12, 8)
        .FormulaR1C1 = "=Sum(R12C:R[-1]C)": .Value = .Value
    End With
    Application.ScreenUpdating = True
End Sub
Anh xem lại tổng thể dùm em nhé!!
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom