- 帖子
- 2848
- 主題
- 10
- 精華
- 0
- 積分
- 2903
- 點名
- 0
- 作業系統
- 〔略〕
- 軟體版本
- 〔略〕
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 〔略〕
- 註冊時間
- 2013-5-13
- 最後登錄
- 2026-7-25
|
回復 12# Qin
Sub Ex_01()
Dim xD, Arr, Brr, xA As Range, xS As Worksheet, R&, C%, i&, j%
Set xD = CreateObject("scripting.dictionary")
R = [Search!A1].Cells(Rows.Count, 1).End(3).Row
Arr = [Search!A1:O1].Resize(R)
For i = 2 To UBound(Arr, 2): xD(Arr(1, i) & "") = i - 1: Next '標記[欄]位置
For i = 2 To UBound(Arr): xD(Arr(i, 1) & "") = i - 1: Next '標記[列]位置
Set xA = [Search!B2:O2].Resize(R - 1) '資料填入區(即原公式區)
xA = "No Data" '預先填入[No Data], 待有符合再覆蓋
Arr = xA.Value '帶入Array
For Each xS In Sheets(Array("AB", "CD", "EF", "GH", "KL", "MN"))
Brr = xS.UsedRange
For i = 2 To UBound(Brr)
R = Val(xD(Brr(i, 1) & "")): If R = 0 Then GoTo 101
For j = 2 To UBound(Brr, 2)
C = Val(xD(xS.Name & "_" & Brr(1, j)))
If C > 0 Then Arr(R, C) = Brr(i, j)
Next j
101: Next i
Next
xA.Value = Arr
End Sub
Dictionary_01v.rar (17.7 KB)
|
|