Dùng VBA chèn hàm excel vào các ô trong worksheet.

Liên hệ QC

baihocdt

Thành viên hoạt động
Tham gia
1/2/11
Bài viết
106
Được thích
11
Chào các bạn, mình có 1 bảng tính như file đính kèm, trong đó có số lượng MÃ HÀNG thay đổi không theo quy luật, có lúc nhiều mã hàng cũng có lúc ít.

Mình muốn làm 1 macro để tự động nhập công thức vào các ô : THÀNH TIỀN = SL * GIÁ , đồng thời tính TỔNG CỘNG = SUM các ô Thành tiền phía trên.

Mình đã nhập được công thức vào cột THANH TIEN, nhưng tính giá trị TỔNG CỘNG mình không tính được. Mình có viết câu lệnh rồi nhưng khi chạy thì bị báo lỗi.

Các bạn xem và sửa giúp mình nhé.
Cảm ơn các bạn.
 

File đính kèm

Số bản ghi bạn đã đém sai rồi thì sao tiếp tục được. Xem lại đoạn code nhé.
 
Upvote 0
Chào các bạn, mình có 1 bảng tính như file đính kèm, trong đó có số lượng MÃ HÀNG thay đổi không theo quy luật, có lúc nhiều mã hàng cũng có lúc ít.

Mình muốn làm 1 macro để tự động nhập công thức vào các ô : THÀNH TIỀN = SL * GIÁ , đồng thời tính TỔNG CỘNG = SUM các ô Thành tiền phía trên.

Mình đã nhập được công thức vào cột THANH TIEN, nhưng tính giá trị TỔNG CỘNG mình không tính được. Mình có viết câu lệnh rồi nhưng khi chạy thì bị báo lỗi.

Các bạn xem và sửa giúp mình nhé.
Cảm ơn các bạn.
Đã dùng VBA thì cần gì phải đưa cả công thức vào ô? Chỉ cần tính toán và đưa giá trị vào là được rồi, vừa nhanh, vừa gọn nhẹ.
Nếu bạn đồng ý thì thử sử dụng code sau xem sao:
PHP:
Sub TinhTong()
    Dim LCell As Range, Cll As Range, Rng As Range
    Sheets("Sheet1").Activate
    Set LCell = [A65536].End(xlUp).Offset(-3, 4)
    Set Rng = Range([E6], LCell)
    For Each Cll In Rng
        Cll = Cll.Offset(, -2) * Cll.Offset(, -1)
    Next
    LCell.Offset(1) = WorksheetFunction.Sum(Rng)
    LCell.Offset(3) = LCell.Offset(1) - LCell.Offset(3)
End Sub
 
Upvote 0
Bạn xóa các số liệu cũ từ [E6] trở xuống đến trước '***' & cho macro này chạy xem sao

PHP:
Option Explicit
Sub Oval1_Click()
 Dim jJ, Cls As Range, Rng As Range, Rg0 As Range
 
 Set Rng = [e1].End(xlDown).Offset(1)
 For Each Cls In Range(Rng, Rng.End(xlDown).Offset(-1))
    Cls.Formula = "=RC[-2]* RC[-1]"
    Set Rg0 = Cls.Offset(2)
 Next Cls
 On Error Resume Next
 jJ = Rg0.Row - Rng.Row
'Tính giá tri TONG CONG:'
Rg0.FormulaR1C1 = "=SUM(R[" & -jJ & "]C:R[-1]C)"
' Tính CON LAI:'
Rg0.Offset(2).Formula = "= R[-2]C-R[-1]C"
End Sub
 
Upvote 0
Vì cái file này mình xuất ra cho người khác dùng, nên đôi khi số liệu có thay đổi vì vậy nên phải cần có công thức bạn ah. Tổng hợp các sự trợ giúp của các bạn mình đã chỉnh lại đoạn code của mình Ok rồi. Cảm ơn các bạn, chúc các bạn sức khoẻ và thành công.
 
Upvote 0
Web KT

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

Back
Top Bottom