Page 1 of 1

countif โดยใช้ตัวแปร

Posted: Fri Aug 04, 2017 2:03 pm
by suwanneekpy
สวัสดีค่ะ เป็นมือใหม่ในเรื่อง VBA ค่ะ มีปัญหาอยากรบกวนปรึกษาค่ะ ต้องการนับจำนวนรายการของข้อมูลในแต่ละกรุ๊ป โดยนำข้อมูลของแต่ละกรุ๊ปมาใส่ตัวแปร แล้วนำไปใช้ในสูตร countif แต่ผลลัพธ์ได้เป็น 0 ค่ะ (คอลัมน์ M) แต่ถ้าใช้ countif แล้วระบุคอลัมน์ตรงๆ เลยมันได้ผลลัพธ์ถูกต้องนะคะ (คอลัมน์ O)

Code: Select all

Sub CountSize()
Dim mfcount As Integer
Dim sizegroup As Long, sizecount As String
Dim lrow As Integer, i As Integer


    Range("K:K").ClearContents
    
    lrow = [match(I1,Sheet1!C:C, 0)]
    mfcount = [COUNTIF(C2:C2000,I1)]
    srrow = "D" & lrow
    errow = "D" & (lrow + mfcount - 1)
    scrow = "P" & (lrow)
    ecrow = "P" & (lrow + mfcount - 1)
    
    
    ActiveWorkbook.Names.Add "data", Sheets("sheet1").Range(srrow & ":" & errow)
    sizegroup = [SUMPRODUCT(1/COUNTIF(data,data))]
    Sheets("Sheet1").Range("Data").Copy Destination:=Sheets("sheet1").Range("K1")
    Columns("K:K").Select
    ActiveSheet.Range("K:K").RemoveDuplicates Columns:=Array(1), Header:=xlNo
    
    Range("I2").Select
    
    For i = 1 To sizegroup
        sizecount = Range("K" & i).Value
        Range("M" & i).Value = [COUNTIF(data,sizecount)]
    Next
        
    
    Range("O1").Value = [COUNTIF(data,K1)]
    Range("O2").Value = [COUNTIF(data,K2)]
    
End Sub

ขอขอบคุณล่วงหน้าค่ะ

Re: countif โดยใช้ตัวแปร

Posted: Fri Aug 04, 2017 2:50 pm
by logic
ลองดู code นี้เพื่อแสดงผลการนับในคอลัมน์ M ครับ :)

Code: Select all

For i = 1 To sizegroup
    sizecount = Range("K" & i).Value
    Range("M" & i).Value = Application.CountIf(Range("Data"), sizecount)
Next

Re: countif โดยใช้ตัวแปร

Posted: Fri Aug 04, 2017 3:01 pm
by suwanneekpy
ได้แล้วค่ะ ขอบคุณมากค่ะ
:thup: