Board logo

標題: [發問] 如何自動整理資料一次列印全部 [打印本頁]

作者: aassddff736    時間: 2024-2-24 20:21     標題: 如何自動整理資料一次列印全部

請教各位
我有一個排成想要自動整理好輸入記錄表內,一次列印全部要如何做?
[attach]37483[/attach]
作者: Andy2483    時間: 2024-2-26 08:21

回復 1# aassddff736


    謝謝前輩發表此主題與範例
後學藉此帖練習陣列,學習方案如下,請前輩參考
"排成"表 執行前:
[attach]37485[/attach]

"排成"表 執行結果:
[attach]37486[/attach]

Option Explicit
Sub 整理表彙整為排成表()
Dim Brr, Crr, i&, R&, xU As Range, xS As Worksheet
Set xS = Sheets("整理")
[排成!A1].CurrentRegion.Offset(1).EntireRow.Delete
Brr = Range(xS.[F2], xS.[A65536])
ReDim Crr(1 To UBound(Brr), 1 To 4)
For i = 1 To UBound(Brr)
   If Trim(Brr(i, 3)) = "" Then GoTo i01 Else R = R + 1
   If Trim(Brr(i, 6)) <> "" Then
      If xU Is Nothing Then
         Set xU = Sheets("排成").Cells(R + 1, 3)
         Else
         Set xU = Union(xU, Sheets("排成").Cells(R + 1, 3))
      End If
   End If
   Crr(R, 1) = Trim(Brr(i, 2))
   Crr(R, 2) = Trim(Brr(i, 3))
   Crr(R, 3) = Trim(Brr(i, 4)) & vbCrLf & Trim(Brr(i, 6))
   Crr(R, 4) = Val(Brr(i, 5))
i01: Next
If R = 0 Then MsgBox "沒有資料": Exit Sub
With [排成!A2].Resize(R, 4)
   .Value = Crr
   .Borders.LineStyle = xlContinuous
End With
If Not xU Is Nothing Then xU.Font.ColorIndex = 3
End Sub
作者: aassddff736    時間: 2024-2-26 13:10

回復 2# Andy2483

謝謝大神
但不知道為什麼我更改排程資料 跑VBA都會跳回原先資料
作者: Andy2483    時間: 2024-2-26 13:22

本帖最後由 Andy2483 於 2024-2-26 13:24 編輯

回復 3# aassddff736


    題意裡沒有說明 整理表彙整為排成表 還是 排成表彙整為整理表
只能猜,反正後學學習練習,所幸兩種都做,請前輩自己處理
作者: aassddff736    時間: 2024-2-26 13:34

回復 4# Andy2483


不好意思 表達清楚 謝謝您
能問問您怎麼學VBA 是相關科系畢業還是自學
作者: Andy2483    時間: 2024-2-26 13:58

回復 5# aassddff736

機械系
錄製巨集開始學起,知識+學基礎,麻辣家族論壇繼續學習中,學習Excel第13年,歡迎一起學習
作者: aassddff736    時間: 2024-2-26 14:40

回復 6# Andy2483


感謝您
我是真的很想學
作者: Andy2483    時間: 2024-2-26 14:53

回復 7# aassddff736


    真想學就要以自己的案例開始練習起,問自己練習遇到的問題,進步會比較快
如果能註解別人的帖子,把所有不懂的陳述式.函數.方法.物件....等都搞懂進步最快
要抄襲也要知道哪裡可以參考
作者: aassddff736    時間: 2024-2-26 16:08

回復 8# Andy2483
恩恩謝謝指點




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)