• CHÈN DÒNG TÍNH TỔNG VÀO BẢNG
  • RE: CHÈN DÒNG TÍNH TỔNG VÀO BẢNG

    thuyyeu99 > 16-02-20, 08:44 PM

    (16-02-20, 08:07 PM)tranthanhan1962 Đã viết:  Chỉ cần người đặt hàng báo cho bạn viết một phần mềm để báo các cột, dòng với số liệu thế này , thế kia (Bản chất của những báo cáo CSDL là thế mà). Tự trong đầu bạn sẽ có một hệ thống table và các quan hệ. 
    Hihi em nghĩ ăn tiền là cái chỗ này đây 1 cái database tốt là cái xương sống của chương trình rồi.
  • RE: CHÈN DÒNG TÍNH TỔNG VÀO BẢNG

    yamakashi2003 > 17-02-20, 12:42 AM

    em cám ơn các bác đã tận tình hưỡng dẫn ạ !!!!!
  • RE: CHÈN DÒNG TÍNH TỔNG VÀO BẢNG

    yamakashi2003 > 19-02-20, 01:42 AM

    (16-02-20, 04:20 PM)Xuân Thanh Đã viết: Chép đoạn code sau vào một modul và chạy nó. Yêu cầu các tên hàng hóa phải thống nhất như ongke0711 đã nói ở trên

    Mã:
    Sub ABC()
        Dim sh As Worksheet, i As Long, j As Long, n As Long
        Set sh = Sheet1
        With sh
            n = .Range("G10000").End(xlUp).Row
            For i = n To 3 Step -1
                If .Range("G" & i) <> .Range("G" & i + 1) Then
                    .Range("G" & i + 1).EntireRow.Insert
                    .Range("B" & i + 1) = "TÔNG"
                End If
            Next
            n = .Range("G10000").End(xlUp).Row
            j = 3
            For i = 3 To n + 1
                If .Range("B" & i) = "TÔNG" Then
                    .Range("F" & i) = "=SUM(R" & j & "C6:R" & i - 1 & "C6)"
                    .Range("F" & i).Value = .Range("F" & i).Value
                    .Range("B" & i & ":F" & i).Font.Bold = True
                    j = i + 1
                End If           
            Next
        End With
    End Sub
    Bác ơi cho em hỏi tí, em không hiểu  câu lệnh này ạ
    .Range("F" & i) = "=SUM(R" & j & "C6:R" & i - 1 & "C6)"
    cột F là số lượng và dùng hàm SUM em hiểu nhưng sao lại dùng R và C6 thế bác
  • RE: CHÈN DÒNG TÍNH TỔNG VÀO BẢNG

    Xuân Thanh > 19-02-20, 07:22 AM

    (19-02-20, 01:42 AM)yamakashi2003 Đã viết: Bác ơi cho em hỏi tí, em không hiểu  câu lệnh này ạ
    .Range("F" & i) = "=SUM(R" & j & "C6:R" & i - 1 & "C6)"
    cột F là số lượng và dùng hàm SUM em hiểu nhưng sao lại dùng R và C6 thế bác

    Là hàm tính tổng(Sum mà) từ hàng j đến hàng i -1 của cột 6(cột F). Hàm Sum trong VBA phải viết tường minh như vậy. Nếu ở trên sheets thì hàm Sum này là = SUM($F$3:$F$5)
    Câu lệnh .Range("F" & i).Value = .Range("F" & i).Value là chỉ lấy giá trị, không lấy công thức nên nhẹ bảng tính. Bạn bỏ câu lệnh này sẽ thấy công thức ngay
    Thử nhé : Bạn Record Macro, tại ô F6 bạn gõ công thức = SUM($F$3:$F$5) rồi mở VBA xem có phải công thức là = SUM(R3C6:R5C6) không? R là kí tự đại diện cho hàng, C là kí tự đại diện cho cột(Row và Column)
  • RE: CHÈN DÒNG TÍNH TỔNG VÀO BẢNG

    yamakashi2003 > 19-02-20, 06:47 PM

    (16-02-20, 04:31 PM)thuyyeu99 Đã viết: Cái này nếu dữ liệu nhiều bạn nên đưa vào mãng, xử lý xong rồi đưa vào lại vào sheet.
    Chị ơi hướng dẫn em cách đưa dữ liệu vào mảng được không ạ,
    Em newbie nên chưa biết cách ạ