麻辣家族討論版版's Archiver

jsc0518 發表於 2021-11-22 12:01

如何將COUNTIF公式轉VBA語法

Dear all,
我試著想把下列公式改成VBA語法,但結果是失敗的,是否可以幫我看一下語法哪裡有誤?
F2=COUNTIF(繳庫量!G$2:G$20000,A2)




Sub Countif()

    For i = 2 To 65536 Step 1
            For j = 2 To [g65536].End(3).Row
   
        Cells("G", i).Value = WorksheetFunction.CountIf(Sheets("繳庫量").Cells("G", j), Cells("A", i))
        
        Next j
    Next i

End Sub

samwang 發表於 2021-11-22 13:23

[b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=117809&ptid=23495]1#[/url] [i]jsc0518[/i] [/b]

請測試看看,謝謝
Sub test()
Dim Arr, Brr, i&
Set xD = CreateObject("Scripting.Dictionary")
Arr = Range([g2], [g65536].End(3))
For i = 1 To UBound(Arr): xD(Arr(i, 1) & "") = 1: Next
Brr = Range([a2], [a65536].End(3))
For i = 1 To UBound(Brr): Brr(i, 1) = xD(Brr(i, 1) & ""): Next
Range("f2").Resize(UBound(Brr)) = Brr
End Sub

jsc0518 發表於 2021-11-22 14:57

[b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=117814&ptid=23495]2#[/url] [i]samwang[/i] [/b]
Dear samwang,
午安!感謝您的回覆。
抱歉問題、檔案未提供說明清楚。我的結果畫面如下圖,但我現在是用Excel公式,想把COUNTIF公式轉VBA語法
[attach]34421[/attach]

[attach]34422[/attach]

samwang 發表於 2021-11-22 16:01

[quote]回復  samwang
Dear samwang,
午安!感謝您的回覆。
抱歉問題、檔案未提供說明清楚。我的結果畫面如下圖 ...
[size=2][color=#999999]jsc0518 發表於 2021-11-22 14:57[/color] [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=117819&ptid=23495][img]http://forum.twbts.com/images/common/back.gif[/img][/url][/size][/quote]

請測試看看,謝謝
Sub test()
Dim Arr, Brr, xD, i&
Set xD = CreateObject("Scripting.Dictionary")
Arr = Range([繳庫量!g2], [繳庫量!g65536].End(3))
For i = 1 To UBound(Arr): xD(Arr(i, 1) & "") = xD(Arr(i, 1) & "") + 1: Next
With Sheets("Analysis")
    Brr = .Range(.[a2], .[a65536].End(3))
    For i = 1 To UBound(Brr):
        If xD(Brr(i, 1) & "") > 0 Then
            Brr(i, 1) = xD(Brr(i, 1) & "")
        Else
            Brr(i, 1) = 0
        End If
    Next
    .Range("f2").Resize(UBound(Brr)) = Brr
End With
End Sub

jsc0518 發表於 2021-11-22 17:06

[b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=117820&ptid=23495]4#[/url] [i]samwang[/i] [/b]
Dear samwang,
測試OK,感謝您的幫忙!大感恩!

劉大胃 發表於 2021-11-23 15:55

Sub Countif()

    a = Sheets("繳庫量").Range("G65536").End(3).Row
    b = ActiveSheet.Range("A65536").End(3).Row
   
    For i = 2 To b Step 1
   
        ActiveSheet.Range("G" & i).Value = WorksheetFunction.Countif(Sheets("繳庫量").Range("G2:G" & a), ActiveSheet.Range("A" & i).Value)
        
    Next i

End Sub

ML089 發表於 2021-11-23 16:31

Sub Macro1()
    Set sh = Sheets("Analysis")
    With Range(sh.[A2], sh.[A2].End(xlDown))
        .Offset(, 4).Formula = "=COUNTIF(繳庫量!G:G,A2)"
        .Offset(, 4).Value = .Offset(, 4).Value
    End With
End Sub

jsc0518 發表於 2021-11-23 20:12

[b]回復 [url=http://forum.twbts.com/redirect.php?goto=findpost&pid=117826&ptid=23495]7#[/url] [i]ML089[/i] [/b]
Dear ML089,
晚上好!感謝您的熱心指導與分享!
試用過後可用。太棒囉!大感謝!
^^

頁: [1]

麻辣家族討論版版為 麻辣學園 網站成員  由 昱得資訊工作室 © Since 1993 所提供