Dùng application.counta(...) (3 người xem)

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

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

hitmen

Thành viên mới
Tham gia
14/3/11
Bài viết
23
Được thích
5
Gửi các cao nhân, em muốn sử dụng vba để tính giá trị Counta, countifs của liên kết đến sheet khác, với điều kiện linh hoạt, cụ thể như sau:

Sau khi chọn tháng, năm báo cáo thì cột F trong sheets báo cáo sẽ tự tính giá trị của các tháng liên kết đến. (em có gửi file data đính kèm, mong các cao nhân chỉ giúp)
 

File đính kèm

Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$B$3" Then
Range("B4").Value = Range("B3").Value & "-" & Range("B2").Value
Set ws = ActiveSheet.Range("B4")
ThisWorkbook.Sheets("BAOCAO").[F10:F23].Value = ""

ThisWorkbook.Sheets("BAOCAO").Range("F11:F11").Value = Application.CountA("" & ws & "!" & [C:C])

End If

End Sub


em làm như vậy mà không được các bác ạ ( chủ yếu là phần Application.CountA("" & ws & "!" & [C:C]))
 
Chưa test:
Set ws = ActiveSheet
ThisWorkbook.Sheets("BAOCAO").Range("F11").Value = Application.CountA( ws.Range("C:C"))
 
Chọn tháng chưa có tên sheets sẽ lỗi, vì chưa bẫy lỗi;
Mã:
Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$3" Then
Range("B4").Value = Format(Range("B3").Value, "00") & "-" & Range("B2").Value
Set ws = Sheets(Range("B4").Value)
Range("F10:F23").ClearContents
Range("F11").Value = Application.CountA(ws.Range("C:C"))
End If

End Sub
 
Chạy OK rồi bác ạ, tuy nhiên nếu muốn cộng nhiều sheets trong cùng cột C:C thì làm thế nào ạ

Set ws1 = Sheets(Range("B5").Value)
Set ws2 = Sheets(Range("B4").Value)
[F10:F23].ClearContents

Range("F11").Value = Application.CountA(("ws2:ws1").Range("AA:AA"))

em để thế nhưng không chạy ạ
 
Web KT

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

Back
Top Bottom