Cộng tự động bằng VBA?

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

HHN

Thành viên chính thức
Tham gia
26/1/07
Bài viết
50
Được thích
69
Nghề nghiệp
Lái xe
Em có 1 file đính kèm theo các bác giúp em với, ở ô D6 em muốn cộng tổng tiền ở cột K theo những dòng nhập ở ô C6 và C7, tức là muốn cộng bất kỳ những dòng liên tiếp khi nhập dòng bắt đầu vào ô C6 và dòng kết thúc ở ô C7 thì ô D6 cho kết quả tổng tiền ở cột K.
Các bác giúp em với em cần gấp quá, em muốn dùng code VBA còn dùng filter thì không tiện lắm.
Cảm ơn các bác đã đọc tin.


----------------------
OverAC: Bác lưu ý đặt tên đề tài rõ nghĩa nhé.
Tên đề tài đã được điều chỉnh bởi OverAC
Tên cũ: Các bác ơi giúp em với, em làm mãi từ tối đến giờ mà không được
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
hhn đã viết:
Em có 1 file đính kèm theo các bác giúp em với, ở ô D6 em muốn cộng tổng tiền ở cột K theo những dòng nhập ở ô C6 và C7, tức là muốn cộng bất kỳ những dòng liên tiếp khi nhập dòng bắt đầu vào ô C6 và dòng kết thúc ở ô C7 thì ô D6 cho kết quả tổng tiền ở cột K.
Các bác giúp em với em cần gấp quá, em muốn dùng code VBA còn dùng filter thì không tiện lắm.
Cảm ơn các bác đã đọc tin.

Bạn xem qua nhé
Nhớ học cách sử dụng hàm sumproduct và cách đặt name trên diễn đàn này

Thân!
 

File đính kèm

Upvote 0
Mr Okebab đã viết:
Bạn xem qua nhé
Nhớ học cách sử dụng hàm sumproduct và cách đặt name trên diễn đàn này

Thân!
Rất cám ơn bác đã trả lời, nhưng vẫn chưa đúng theo ý em cần bác ạ, ý em cần là không căn cứ ngày tháng, mà là theo hàng, ví dụ em muốn cộng từ hàng thứ n đến hàng thứ n, khi em nhập n vào hai ô C6 và C7, ví dụ như trong book1 của em đấy, em nhập ô C6 là 11 ô C7 là 30, thì sẽ cộng tự dòng thứ 11 đến dòng thứ 30, và em muốn dùng VBA code, không muốn dùng hàm, các bác giúp em đoạn code với.
Cám ơn các bác rất nhiều.
 
Lần chỉnh sửa cuối:
Upvote 0
hhn đã viết:
Rất cám ơn bác đã trả lời, nhưng vẫn chưa đúng theo ý em cần bác ạ, ý em cần là không căn cứ ngày tháng, mà là theo hàng, ví dụ em muốn cộng từ hàng thứ n đến hàng thứ n, khi em nhập n vào hai ô C6 và C7, ví dụ như trong book1 của em đấy, em nhập ô C6 là 11 ô C7 là 30, thì sẽ cộng tự dòng thứ 11 đến dòng thứ 30, và em muốn dùng VBA code, không muốn dùng hàm, các bác giúp em đoạn code với.
Cám ơn các bác rất nhiều.
Muốn cộng theo Row thì bạn dùng công thức sau tại ô D6
=SUMPRODUCT((K11:K500)*(ROW(A11:A500)>=C6)*(ROW(A11:A500)<=C7))

Mong được như ý !
TDN
 
Upvote 0
tedaynui đã viết:
Muốn cộng theo Row thì bạn dùng công thức sau tại ô D6
=SUMPRODUCT((K11:K500)*(ROW(A11:A500)>=C6)*(ROW(A11:A500)<=C7))

Mong được như ý !
TDN

Dạ cái này thì cũng được như ý em rồi, nhưng em lại thích dùng code hơn, cảm ơn các bác đã nhiệt tình chỉ bảo.
thân hhn
 
Upvote 0
Tùy cái mà dùng code bạn ơi... Với những cái ko thể giãi quyết dc bằng hàm thì dùng VBA là phải rồi... riêng đối với trường hợp này dùng hàm là cực kỳ dễ... chỉ với 2 hàm OFFSET và SUM là xong, có phải là nhẹ nhàng hơn nhiều ko?
Còn cho dù bạn có dùng VBA đi nữa thì nó cũng dựa trên nguyên tắc của hàm bình thường mà thôi...
Này nha: nếu bạn dùng hàm thì trước tiên đặt 1 name (chẳng hạn là TONG), refer to =IF(mau!$C$7>=mau!$C$6,OFFSET(mau!$K$11,mau!$C$6-1,0,mau!$C$7-mau!$C$6+1,1),0)
Tại cell D6 có công thức =SUM(TONG)
Còn giả sử làm bằng VBA thì.. cũng thế thôi...
Range("D6").Formula = "=SUM(TONG)"
Hi... hi... tùy bạn quyết định
Mến
ANH TUẤN
 
Lần chỉnh sửa cuối:
Upvote 0
Gởi hhn
Trong trường hợp này có thể giải quyết bằng hàm khá đơn giản, sao bạn thích dùng VBA nhỉ ? Hi hi

TDN
 
Upvote 0
)-(in mời thw5 đế xem cái ni!

hhn đã viết:
Dạ cái này thì cũng được như ý em rồi, nhưng em lại thích dùng code hơn, cảm ơn các bác. Thân hhn
Mã:
[b]
Sub Tong()[/b]
 Dim lDau, lCuoi, StrC As String
 lDau = Range("c6").Value:          lCuoi = Range("c7").Value
 StrC = "Tong la: " & Str(WorksheetFunction.Sum(Range("K" & lDau & ":K" & lCuoi)))
 MsgBox StrC, , Range("K" & lDau & ":K" & lCuoi).Address [b]
End Sub[/b]
 
Upvote 0
Code_Cộng tự động bằng VBA

Yêu cầu của bạn đơn giản thôi. Dùng công thức như các thành viên khác đã Post thì đã quá đủ.
Nếu bạn thích hoàn toàn sử dụng Code VBA thì bạn tải File này về
Tôi đã viết đoạn mã VBA theo yêu cầu dựa trên File số liệu của bạn Chỉ cần Click Mouse là OK
Down: http://myfreefilehosting.com/f/57e310ac1e_0.31MB
 
Upvote 0
hhn đã viết:
Dạ cái này thì cũng được như ý em rồi, nhưng em lại thích dùng code hơn, cảm ơn các bác đã nhiệt tình chỉ bảo.
thân hhn
Code thế này được chưa:
Mã:
Sub Sumif()
'
' Sumif Macro
' Macro recorded  by MR
Dim FirstRow As Integer, SdRow As Integer
FirstRow = Range("c6")
SdRow = Range("c7")
Range("d6") = "=SUM(k" & FirstRow & ":k" & SdRow & ")"
End Sub

Mã:
Sub Sumif2()
'
' Sumif Macro
' Macro recorded  by MR
Dim FirstRow As Integer, SdRow As Integer
FirstRow = Range("c6")
SdRow = Range("c7")

Range("d6") = "=SUM(k" & _
    FirstRow _
& ":k" & _
    SdRow _
& ")"

End Sub
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Mã:
Sub Sumif3()

' Macro recorded  by MR
Dim FirstRow As Integer, SdRow As Integer, i As Integer
Dim MySum As Long
FirstRow = Range("c6")
SdRow = Range("c7")
MySum = 0
For i = FirstRow To SdRow
MySum = Cells(i, 11) + MySum
Next

Range("d6") = MySum
End Sub
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Web KT

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

Back
Top Bottom