返回列表 上一主題 發帖

資料量大的計算

資料量大的計算

各位先進好
a-i欄位是原始資料
希望在L1和M1儲存格輸入資料篩選條件
只要A-I欄位內容非空白就進行篩選
而將篩選結果顯示在N-P欄位
最後再排版,在V-X欄位將資料由第2列往下排
Image 001.jpg

明細.rar (7.8 KB)

各位先進好
a-i欄位是原始資料
希望在L1和M1儲存格輸入資料篩選條件
只要A-I欄位內容非空白就進行篩選
...
oak0723-1 發表於 2022-5-4 21:33


請測試看看,謝謝
Sub test()
Dim Arr, Brr(), T$, T1$, n&, R&, i&
Arr = Range("a1").CurrentRegion
ReDim Brr(1 To UBound(Arr), 1 To 3)
T = [L1] & "|" & [M1]
For i = 2 To UBound(Arr)
    T1 = Arr(i, 3) & "|" & Arr(i, 2)
    If T = T1 Then
        n = n + 1: If n = 1 Then R = i
        Brr(n, 1) = Application.Text(Arr(i, 4), "00\:00\:00")
        Brr(n, 2) = Arr(i, 5): Brr(n, 3) = Arr(i, 6)
    End If
Next
If n > 0 Then
    [v1].CurrentRegion.Offset(1).ClearContents
    Range("n2:p" & UBound(Arr)).ClearContents
    Range("n" & R).Resize(n, 3) = Brr
    Range("v2").Resize(n, 3) = Brr
End If
End Sub

TOP

Sub 按鈕1_Click()
     X = 工作表1.[A65536].End(xlUp).Row
     Y = 2
     MP1 = Range("L1")
     MP2 = Range("M1")
     For i = 1 To X
        If 工作表1.Cells(i, 3) = MP1 And 工作表1.Cells(i, 2) = MP2 Then
           Cells(Y, 14) = Application.Text(工作表1.Cells(i, 4).Value, "00\:00\:00")
           Cells(Y, 15).Resize(, 2).Value = 工作表1.Cells(i, 5).Resize(, 2).Value
           Y = Y + 1
        End If
    Next
End Sub
剛在學習,一起研究.
杜小平

TOP

隨意窩 "EXCEL迷"  blog  或https://blog.xuite.net/hcm19522/twblog
已收集8500篇 EXCEL函數

TOP

回復 2# samwang

有點問題,_

明細-vb01.rar (678.67 KB)

TOP

回復 3# dou10801


    執行結果有問題
因為版本問題嗎

明細-vb02.rar (678.4 KB)

TOP

回復  samwang

有點問題,_
oak0723-1 發表於 2022-5-5 20:44


需求欄位不一樣,修改改如下紅字即可,謝謝
T1 = Arr(i, 1) & "|" & Arr(i, 2) '新的需求
1.JPG

TOP

本帖最後由 dou10801 於 2022-5-6 08:49 編輯

回復 6# oak0723-1
If 工作表1.Cells(i, 3) = MP1 And 工作表1.Cells(i, 2) = MP2 Then  .
改 If 工作表1.Cells(i, 1) = MP1 And 工作表1.Cells(i, 2) = MP2 Then
杜小平

TOP

回復 8# dou10801


    感恩感恩
我還以為是版本問題

TOP

回復 7# samwang


    感恩感恩

TOP

        靜思自在 : 我們最大的敵人不是別人.可能是自己。
返回列表 上一主題