Giúp chuyển hàm thành Code (1 người xem)

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

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

khamha

Không có việc gì khó...
Tham gia
4/6/10
Bài viết
662
Được thích
846
Nghề nghiệp
CNVC Laos
Mình Có một hàm dùng trong bảng tính,nhưng vì nó chạy chậm quá,nên nhờ các bạn chuyển nó sang Code cho mình với.
=SUMPRODUCT(($C$12:$F$65536=D$2)*($B$12:$B$65536=$C4)*$G$12:$J$65536)
Cảm ơn các bạn.
 

File đính kèm

Mình Có một hàm dùng trong bảng tính,nhưng vì nó chạy chậm quá,nên nhờ các bạn chuyển nó sang Code cho mình với.
=SUMPRODUCT(($C$12:$F$65536=D$2)*($B$12:$B$65536=$C4)*$G$12:$J$65536)
Cảm ơn các bạn.

Mình nghĩ làm vẫn được. Tuy nhiên đã có sẵn thì nên dùng (không nên quá lạm dụng VBA) còn nhanh hơn thì theo mình nghĩ chưa chắc
 
Upvote 0
Một cú gỏ cho ra 4 số luôn

PHP:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, [d3].Resize(, 4)) Is Nothing Then
   Dim eRw As Long, ProSum As Double
   Dim jJ As Byte
   Dim Rng As Range, sRng As Range
   Dim MyAdd As String

   eRw = Cells.Find(What:="*", After:=[C1], SearchOrder:=xlByRows, _
      SearchDirection:=xlPrevious).Row
   Set Rng = [c11].Resize(eRw, 4)
   For jJ = 65 To 68
      Set sRng = Rng.Find(Target.Value, , xlFormulas, xlWhole)
      If Not sRng Is Nothing Then
         MyAdd = sRng.Address
         Do
            If Cells(sRng.Row, "B").Value = Chr(jJ) Then _
               ProSum = ProSum + sRng.Offset(, 4).Value
            Set sRng = Rng.FindNext(sRng)
         Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
      End If
      Target.Offset(jJ - 64).Value = ProSum
      ProSum = 0
   Next jJ
 End If
End Sub
 

File đính kèm

Upvote 0
Nó có hoạt động được đâu bạn,bạn xem lại giúp mình với.
 
Upvote 0
Nó có hoạt động được đâu bạn,bạn xem lại giúp mình với.

Nó chạy được mà bạn. Bác SA_DQ không viết hàm tính mà bác ấy dùng sự kiện "Private Sub Worksheet_Change". Bạn chỉ việc click chuột vào vùng D4:G7 là sẽ có kết quả mà!?
 
Lần chỉnh sửa cuối:
Upvote 0
Câu lệnh mà bạn đáng quan tâm là đây

PHP:
If Not Intersect(Target, [d3].Resize(, 4)) Is Nothing Then
 
Upvote 0

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

Back
Top Bottom