Giúp đỡ viết Code tìm dòng cuối và chèn dòng sum một số cột (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

nhnn1986

Thành viên hoạt động
Tham gia
30/10/17
Bài viết
108
Được thích
19
Giới tính
Nam
Chào các bạn:

Nhờ các bạn rành về code viết giúp một đoạn tìm "last row" trong sheet và chèn dòng tính tổng vào cuối. Cột cần tính tổng sum là D, E F và G, range cần tính tổng là từ dòng 5 đến "last row"

Cảm ơn ạ
 
Chào các bạn:

Nhờ các bạn rành về code viết giúp một đoạn tìm "last row" trong sheet và chèn dòng tính tổng vào cuối. Cột cần tính tổng sum là D, E F và G, range cần tính tổng là từ dòng 5 đến "last row"

Cảm ơn ạ
File đâu bạn? giúp bằng niềm tin à?
 
Upvote 0
Chủ bài đăng nên làm chu trình ngược, như sau:

Đẩy dòng có công thức tính tổng đến hàng, ví dụ 65501;

Xác dịnh dòng cuối trên cột [B:b] có dữ liệu, bằng câu lệnh:

Rws = [B65500].End (xlUp).Row +2
hay
Rws = [B5].End(xlDown).Row + 2

Câu lệnh nữa để làm ẩn các dòng không dữ liệu, như sau:

Rows( Rws & ": 65500").Hidden = True

(Tất nhiên dòng lệnh đầu của macro ta sẽ cho hiện tất thẩy các dòng của trang tính:
Rows("5:65500").Hidden=False )


Chuyển đến chủ bài đăng: Cơm chay có ngon không vậy?
 
Lần chỉnh sửa cuối:
Upvote 0
Chào các bạn:

Nhờ các bạn rành về code viết giúp một đoạn tìm "last row" trong sheet và chèn dòng tính tổng vào cuối. Cột cần tính tổng sum là D, E F và G, range cần tính tổng là từ dòng 5 đến "last row"

Cảm ơn ạ
Kiểu vầy đây:
Mã:
Sub Test()
  Dim lastRow As Long, cel As Range
  For Each cel In Range("D60000:G60000")
    If lastRow < cel.End(xlUp).Row Then lastRow = cel.End(xlUp).Row
  Next
  Range("D1:G1").Offset(lastRow).Value = "=SUM(R5C:R[-1]C)"
End Sub
 
Upvote 0
Thanks Mr Nờ dê u, code này em chạy thấy ok.hihi

Em đã thêm 1 dòng này vào cuối để "lastrow" của dòng tổng cộng thêm từ "Tổng cộng" vào Cột B:
Mã:
Range("B1").Offset(lastRow).Value = "Tong cong"
 
Upvote 0
Thanks Mr Nờ dê u, code này em chạy thấy ok.hihi

Em đã thêm 1 dòng này vào cuối để "lastrow" của dòng tổng cộng thêm từ "Tổng cộng" vào Cột B:
Mã:
Range("B1").Offset(lastRow).Value = "Tong cong"
Vầy có lý hơn:
Mã:
Range("B1").Offset(lastRow).Value ="T" & ChrW(7893) & "ng c" & ChrW(7897) & "ng"
 
Upvote 0
Dạ tuyệt vời ạ, khi đầu em cũng định chuyển sang tiếng việt chữ Tổng cộng như Bác mà sợ nó chạy lỗi code font. hi hi

Nhân đây em mở rộng câu hỏi xíu ạ? để dòng tổng cộng "Last row" này nó nổi bật hơn xíu: In đậm chẳng hạn thì thêm code như thế nào ạ?
 
Upvote 0
Dạ tuyệt vời ạ, khi đầu em cũng định chuyển sang tiếng việt chữ Tổng cộng như Bác mà sợ nó chạy lỗi code font. hi hi

Nhân đây em mở rộng câu hỏi xíu ạ? để dòng tổng cộng "Last row" này nó nổi bật hơn xíu: In đậm chẳng hạn thì thêm code như thế nào ạ?
Gộp lại luôn cho gọn thế này:
Mã:
  With Range("B1").Offset(lastRow)
    .Value = "T" & ChrW(7893) & "ng c" & ChrW(7897) & "ng"
    .Font.Bold = True
  End With
 
Upvote 0
Tuyệt vời ạ, tuy nhiên code như trên chỉ In đậm chữ "Tổng cộng", em làm luôn double thế này nó in đậm cả dòng luôn ạ:
Mã:
With Range("D1:X1").Offset(lastRow)
        .Value = "=SUM(R9C:R[-1]C)"
        .Font.Bold = True
    End With
  With Range("B1").Offset(lastRow)
        .Value = "T" & ChrW(7893) & "ng c" & ChrW(7897) & "ng"
        .Font.Bold = True
  End With

Em làm như trên thì nó có tới 2 lần "with...end with" lận. Bác ndu.. có cách nào rút nó ngắn hơn không ạ?
 
Upvote 0
Tuyệt vời ạ, tuy nhiên code như trên chỉ In đậm chữ "Tổng cộng", em làm luôn double thế này nó in đậm cả dòng luôn ạ:
Mã:
With Range("D1:X1").Offset(lastRow)
        .Value = "=SUM(R9C:R[-1]C)"
        .Font.Bold = True
    End With
  With Range("B1").Offset(lastRow)
        .Value = "T" & ChrW(7893) & "ng c" & ChrW(7897) & "ng"
        .Font.Bold = True
  End With

Em làm như trên thì nó có tới 2 lần "with...end with" lận. Bác ndu.. có cách nào rút nó ngắn hơn không ạ?
Thay bằng:
PHP:
  With Range("B1").Offset(lastRow)
    .Value = "T" & ChrW(7893) & "ng c" & ChrW(7897) & "ng"
    .Resize(, 6).Font.Bold = True
  End With
 
Upvote 0
Thay bằng:
PHP:
  With Range("B1").Offset(lastRow)
    .Value = "T" & ChrW(7893) & "ng c" & ChrW(7897) & "ng"
    .Resize(, 6).Font.Bold = True
  End With

Thanks Ms Liên or Mr Phú
Code worked hihi, sau này muốn cộng thêm và In đậm "x" cột khác nữa chỉ cần chỉnh Resize(,6) thành Resize(,x)

P/S: Cảm ơn Bác ndu một lần nữa ạ./.
 
Upvote 0
Web KT

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

Back
Top Bottom