- 帖子
- 1447
- 主題
- 40
- 精華
- 0
- 積分
- 1471
- 點名
- 0
- 作業系統
- Windows 7
- 軟體版本
- Excel 2010 & 2016
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2020-7-15
- 最後登錄
- 2025-5-5
|
5#
發表於 2024-3-28 12:57
| 只看該作者
謝謝論壇,謝謝各位前輩
後學藉此帖以資料表練習合併儲存格判定與陣列做出團購明細並設定列印範圍,學習方案如下,請各位前輩指教
資料表:
執行後結果表:
Option Explicit
Sub TEST_20240328_1()
Dim xR As Range, Brr, i%, j%, T$, Crr, R%
ReDim Crr(1 To 1000, 1 To 6)
With Sheets("編號")
Brr = .UsedRange
For j = 1 To UBound(Brr, 2) Step 3
For i = 1 To UBound(Brr)
Set xR = .Cells(i, j): If xR.MergeArea.Cells.Count = 2 And xR <> "" And xR <> T Then T = xR: GoTo i01
R = R + 1: Crr(R, 1) = R: Crr(R, 2) = T: Crr(R, 3) = Brr(i, j): Crr(R, 4) = Brr(i, j + 1)
i01: Next
Next
End With
Workbooks.Add: [A1].Resize(, 6) = [{"NO.","職稱","姓名","人員編號","團購明細","總金額"}]
With [A2].Resize(R, 6)
.Value = Crr
.Columns(5).ColumnWidth = 25
.Borders.LineStyle = 1
Range([A1], .Cells).Name = "'" & ActiveSheet.Name & "'!Print_Area"
End With
End Sub |
|