返回列表 上一主題 發帖

[分享] 判斷出現不同批號幾次

回復 16# samwang

Dear samwang,
午安!您好!

可以用了,非常感謝您的幫忙!

再與您請教幾個問題
1.要怎麼知道那些語法(指令)是使用在模組?那些語法(指令)是使用在工作表的?
2.放在模組或工作表,他們的差異是在哪裡?

再麻煩您教導,謝謝您!
Just do it.

TOP

回復 14# jsc0518

程式修改如下,要放在工作表或模組都可以,請再測試看看,謝謝。

Sub test5()
Dim Arr, xD, xD1, T1, TT, i&
Set xD = CreateObject("Scripting.Dictionary")
Set xD1 = CreateObject("Scripting.Dictionary")
With Sheets("繳庫量")
    Arr = .Range(.[e1], .[y65536].End(3))
    For i = 2 To UBound(Arr)
         T1 = Arr(i, 1): TT = Arr(i, 1) & Arr(i, 2)
         If Not xD.Exists(TT) Then
             xD(TT & "") = xD(TT & "") + 1
             xD(T1 & "") = xD(T1 & "") + xD(TT & "")
         End If
         xD1(T1 & "") = xD1(T1 & "") + Arr(i, 21)
    Next
End With
With Sheets("Analysis")
    Arr = .Range(.[b2], .[a65536].End(3))
    For i = 1 To UBound(Arr)
        T1 = Arr(i, 1)
        Arr(i, 1) = xD(T1 & "")
        Arr(i, 2) = xD1(T1 & "")
    Next
    .Range("b2").Resize(UBound(Arr), 2) = Arr
End With
End Sub

TOP

回復 14# jsc0518

需要把程式放在模組裡面,謝謝

插入-->模組-->程式

擷取.PNG (61.74 KB)

擷取.PNG

TOP

本帖最後由 jsc0518 於 2021-6-18 10:16 編輯

回復 13# samwang
Dear samwang,
早安!您好!
感謝您的幫忙,我把語法COPY並執行,但發生了錯誤訊息:400(如下圖)
可以幫幫我嗎? ><"
拜託您了




檔案如下
111.rar (25.89 KB)
Just do it.

TOP

本帖最後由 samwang 於 2021-6-18 07:49 編輯

回復 11# jsc0518

請測試看看,謝謝。

Sub test4()
Dim Arr, xD, xD1, T1, TT, i&
Set xD = CreateObject("Scripting.Dictionary")
Set xD1 = CreateObject("Scripting.Dictionary")
Arr = Range([繳庫量!e1], [繳庫量!y65536].End(3))
For i = 2 To UBound(Arr)
     T1 = Arr(i, 1): TT = Arr(i, 1) & Arr(i, 2)
     If Not xD.Exists(TT) Then
         xD(TT & "") = xD(TT & "") + 1
         xD(T1 & "") = xD(T1 & "") + xD(TT & "")
     End If
     xD1(T1 & "") = xD1(T1 & "") + Arr(i, 21)
Next
With Sheets("Analysis")
    Arr = .Range(.[b2], .[a65536].End(3))

    For i = 1 To UBound(Arr)
        T1 = Arr(i, 1)
        Arr(i, 1) = xD(T1 & "")
        Arr(i, 2) = xD1(T1 & "")
    Next
    .Range("b2").Resize(UBound(Arr), 2) = Arr
End With

End Sub

TOP

回復 8# hcm19522
Dear hcm19522 您好!感謝您的熱心解答
使用了公式,TEST OK。但我的資料筆數過多,需花一點時間。
謝謝你歐!
Just do it.

TOP

本帖最後由 jsc0518 於 2021-6-17 21:39 編輯

回復 9# samwang
Hi samwang 您好!感謝您的熱心幫忙
試過了VBA,測試OK!
想與您請教,若分做兩個工作表,資料庫的部份工作表為"繳庫量",而需分析每一料號下出現幾個批號及總數加總則放在工作表為"Analysis"
那VBA要怎麼修訂呢?
感恩!!!

如下圖






Excel_VBA V2.rar (15.75 KB)
Just do it.

TOP

回復 7# aer

Hi 您好!感謝您的熱心幫忙,
剛剛RUN了一下語法,結果是我要的,但需要跑一些時間(連存檔案都要一點時間),我的資料目前約有2381筆
Just do it.

TOP

回復 5# jsc0518

不好意思,看了其他大大解答,終於了解您的需求了,6樓程式請忽略,下面程式請再測試看看,謝謝。

Sub test3()
Dim Arr, xD, xD1, T1, TT, i&
Set xD = CreateObject("Scripting.Dictionary")
Set xD1 = CreateObject("Scripting.Dictionary")
Arr = Range([c1], [a65536].End(3))
For i = 2 To UBound(Arr)
     T1 = Arr(i, 1): TT = Arr(i, 1) & Arr(i, 2)
     If Not xD.Exists(TT) Then
         xD(TT & "") = xD(TT & "") + 1
         xD(T1 & "") = xD(T1 & "") + xD(TT & "")
     End If
     xD1(T1 & "") = xD1(T1 & "") + Arr(i, 3)
Next
Arr = Range([g2], [f65536].End(3))
For i = 1 To UBound(Arr)
    T1 = Arr(i, 1)
    Arr(i, 1) = xD(T1 & "")
    Arr(i, 2) = xD1(T1 & "")
Next
Range("g2").Resize(UBound(Arr), 2) = Arr
End Sub

TOP

google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

        靜思自在 : 為自己找藉口的人永遠不會進步。
返回列表 上一主題