- 帖子
- 976
- 主題
- 7
- 精華
- 0
- 積分
- 1018
- 點名
- 0
- 作業系統
- Win10
- 軟體版本
- Office 2016
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-4-19
- 最後登錄
- 2026-5-26
|
回復 4# 棋語鳥鳴
請測試看看,謝謝
Sub test()
Dim Arr, xD, T$, R%, C%, i&, j&
Application.EnableEvents = False
Tm = Timer
Set xD = CreateObject("Scripting.Dictionary")
Arr = Range([資料來源!k1], [資料來源!a65536].End(3))
For i = 2 To UBound(Arr)
xD(Arr(i, 1)) = 1
For j = 2 To UBound(Arr, 2)
xD(Arr(i, 1) & "_" & Arr(1, j)) = Arr(i, j)
Next
Next
For Each sht In Worksheets
If InStr(sht.Name, "月") Then
With Sheets(sht.Name)
R = .Range("a65536").End(3).Row
C = .Cells(1, Columns.Count).End(xlToLeft).Column
Arr = .Range(.[a1], .Cells(R, C))
For i = 2 To UBound(Arr)
If xD(Arr(i, 1)) = 1 Then
For j = 2 To C
Arr(i, j) = xD(Arr(i, 1) & "_" & Arr(1, j))
Next
End If
Next
.Range("a1").Resize(R, C) = Arr
End With
End If
Next
MsgBox Timer - Tm
Application.EnableEvents = True
End Sub |
|