Hỏi về hàm CountIf trong vba trên TextBox với điều kiện nằm trong ComboBox (1 người xem)

  • Thread starter Thread starter khamha
  • Ngày gửi Ngày gửi

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
Như tiêu đề ,trong đó:
Ctr02 là: ComboBox Và Ctr10 là: TextBox
Mình đã viết như dưới đây ,nhưng kết quả chỉ là số 1 (ko có báo lỗi)

Private Sub Ctr02_AfterUpdate()
Me.Ctr10.Value = WorksheetFunction.CountIf(Sheets("DATA").[B3:B65535], "Ctr02") + 1
End Sub

Nhờ các bạn giúp nhé ,Thank
 
Bạn thử thế này xem có được không:
Me.Ctr10.Value = WorksheetFunction.CountIf(Sheets("DATA").[B3:B65535], Ctr02.Value) + 1
End Sub
 
Sử dụng hàm SumProduct trong vba.

Các bạn xem hộ,mình viết cái Code này nó sai đoạn nào mà ko hoạt động.

Me.Lbl05 = WorksheetFunction.SumProduct((Sheets("DATA").[B3:B65535=Lbl_Py]) * (Sheets("DATA").[N3:N65535=Ctr_PPBThuc])) * (Sheets("DATA").[BP3:BP65535])

Trong đó:
Lbl05 là: Label
Lbl_Py là: Label (Điều kiện 1 ,Có dữ liệu là: 2013)
Ctr_PPBThuc là: TextBox (Điều kiện 2 ,Có dữ liệu là: Thu)
Cảm ơn.
 
Các bạn xem hộ,mình viết cái Code này nó sai đoạn nào mà ko hoạt động.

Me.Lbl05 = WorksheetFunction.SumProduct((Sheets("DATA").[B3:B65535=Lbl_Py]) * (Sheets("DATA").[N3:N65535=Ctr_PPBThuc])) * (Sheets("DATA").[BP3:BP65535])

Trong đó:
Lbl05 là: Label
Lbl_Py là: Label (Điều kiện 1 ,Có dữ liệu là: 2013)
Ctr_PPBThuc là: TextBox (Điều kiện 2 ,Có dữ liệu là: Thu)
Cảm ơn.
Mảng cuối cùng bạn có tham chiếu trong hàm sumproduct không? Nếu có thì bạn thử thế này xem có được không nhé:
Me.Lbl05 = WorksheetFunction.SumProduct((Sheets("DATA").[B3:B65535=Lbl_Py]) * (Sheets("DATA").[N3:N65535=Ctr_PPBThuc]) * (Sheets("DATA").[BP3:BP65535]))
 
Lỗi nằm ở vị trí dấu ]
Dấu ] kết thúc 1 range chứ không phải kết thúc 1 điều kiện.
 
Lỗi nằm ở vị trí dấu ]
Dấu ] kết thúc 1 range chứ không phải kết thúc 1 điều kiện.

Cho dù sửa xong mấy lỗi này thì SUMPRODUCT cũng không chạy được... Vì trong VBA, SUMPRODUCT để tính tổng có điều kiện không phải viết như vậy
Nói chung là dùng Evaluate, đại khái thế này:
Mã:
 Me.Lbl05 = Evaluate("SumProduct((Data!B3:B65535=" & Lbl_Py.Caption & ")*(Data!N3:N65535=[COLOR=#ff0000]"""[/COLOR] & Ctr_PPBThuc.Text & [COLOR=#ff0000]"""[/COLOR])*(Data!BP3:BP65535))")
Mấy dấu nháy đôi màu đó là áp dụng cho trường hợp cột N có dữ liệu dạng Text, nếu chúng là dữ liệu dạng Number thì sẽ viết khác nữa (sửa 3 dấu nháy thành 1 dấu nháy)
 
Lần chỉnh sửa cuối:

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

Back
Top Bottom