- 帖子
- 1447
- 主題
- 40
- 精華
- 0
- 積分
- 1471
- 點名
- 0
- 作業系統
- Windows 7
- 軟體版本
- Excel 2010 & 2016
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2020-7-15
- 最後登錄
- 2025-3-24
|
10#
發表於 2024-1-12 08:39
| 只看該作者
本帖最後由 Andy2483 於 2024-1-12 08:56 編輯
謝謝論壇,謝謝各位前輩
後學藉此帖練習陣列中的陣列與 陣列與儲存格對照運用,學習方案如下,請各位前輩指教
Sheets(1)資料表:
Sheets(2)執行結果:
Option Explicit
Sub TEST()
Dim Brr, i&, j%, R&, xA, xAs
Sheets(2).[A:C].Delete: Brr = Sheets(1).UsedRange
For j = 5 To 17 Step 6
For i = 4 To UBound(Brr)
If InStr(Brr(i, j - 1) & Brr(i, j), "#") Then
R = R + 1
Brr(R, 1) = Sheets(1).Cells(i, j).Item(1, -3).MergeArea(1)
Brr(R, 2) = Brr(i, j - 3): Brr(R, 3) = Brr(i, j - 2)
End If
Next
Next
If R = 0 Then Exit Sub Else xAs = Array([{"樓層", "序", "姓名"}], Brr)
xA = Array(Sheets(2).[A1].Resize(, 3), Sheets(2).[A2].Resize(R, 3))
For i = 0 To UBound(xA)
xA(i).Value = xAs(i): xA(i).Borders.LineStyle = 1
For j = 7 To 10: xA(i).Borders(j).Weight = 4: Next
Next
Application.Goto Sheets(2).[A1]
End Sub |
|