- 帖子
- 976
- 主題
- 7
- 精華
- 0
- 積分
- 1018
- 點名
- 0
- 作業系統
- Win10
- 軟體版本
- Office 2016
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-4-19
- 最後登錄
- 2026-5-26
|
6#
發表於 2021-9-6 21:35
| 只看該作者
本帖最後由 samwang 於 2021-9-6 21:45 編輯
回復 5# ziv976688
1883~請修正下列儲存格~
AP47="";AR47=V
AP48=V;AR48=""
詳如 :7統_0_1884期_1883_名次比對用
>> 請忽略#2程式碼,已重新更新如下紅字,請再測試看看,謝謝
Private Sub CommandButton1_Click()
Dim Path As String, A, Ar(1 To 1000, 1 To 2), Ar1(), Arr, Brr(1 To 7), Crr, xD, T%, i&, j&
Dim Ar2(), Drr(1 To 16, 1 To 49), Arr1,R%, K%, CR%, R1%
...
...
fileOrg = ActiveWorkbook.Name
If n1 > 0 Then
R = 33
表頭 = Array("總次數", "最大", "次大", "三大", "", "最小", "次小", "三小", _
"倍數", "最大", "次大", "三大", "", "最小", "次小", "三小")
For i1 = 0 To n - 1 '開啟Ar1
Set WB = Workbooks.Open(Ar1(i1))
fn = Split(Ar1(i1), "_")(5)
With Sheets(1)
If .FilterMode Then .ShowAllData
With .Range(.[B1], .[E65536].End(3))
Crr = .Value
.Sort Key1:=.Item(3), Order1:=2, Header:=1
Arr = .Value '總次數
.Sort Key1:=.Item(4), Order1:=1, Header:=1
Arr1 = .Value '倍數
.Value = Crr
End With
End With
WB.Close
For i = 2 To 4 '總次數:最大3數值
ReDim Preserve Ar2(K): Ar2(K) = Arr(i, 1): K = K + 1
Next
For i = UBound(Arr) To 48 Step -1 '總次數:最小3數值
ReDim Preserve Ar2(K): Ar2(K) = Arr(i, 1): K = K + 1
Next
For i = UBound(Arr1) To 48 Step -1 '倍數:最大3數值
ReDim Preserve Ar2(K): Ar2(K) = Arr1(i, 1): K = K + 1
Next
For i = 2 To 4 '倍數:最小3數值
ReDim Preserve Ar2(K): Ar2(K) = Arr1(i, 1): K = K + 1
Next
For i = 0 To UBound(Ar2)
T = Ar2(i)
If CR = 3 Then CR = 0: R1 = R1 + 2 Else R1 = R1 + 1
Drr(R1, T) = "V": CR = CR + 1
Next
With Sheets("Sheet1")
.Range("a" & R) = fn
.Range("b" & R).Resize(16) = Application.Transpose(表頭)
.Range("c" & R + 1).Resize(15, 49) = Drr
R = .[b65536].End(3).Row + 2
End With
Erase Ar2: Erase Drr: K = 0: CR = 0: R1 = 0
Next
End If
Set fs = Nothing: Set f = Nothing: Set fc = Nothing
...
... |
|