返回列表 上一主題 發帖

出貨單合併列印輸出問題,有無直接操作方法,或需採用VBA解決。

回復 4# Baracuda
這樣用合併列印好像不是很合適
直接用EXCEL輸出出貨單比較簡單
  1. Sub ex()
  2. Dim Ar(), A As Range, C As Range
  3. With Sheet2
  4. For Each A In .Range(.[A2], .[A65536].End(xlUp))
  5.    With Sheet1
  6.    For Each C In .Range(.[A2], .[A65536].End(xlUp))
  7.       If C = A Then
  8.       ReDim Preserve Ar(s)
  9.       Ar(s) = Array(A.Offset(, 1).Value, A, C.Offset(, 1).Value, C.Offset(, 2).Value, C.Offset(, 3).Value, C.Offset(, 4).Value, C.Offset(, 5).Value)
  10.       s = s + 1
  11.       End If
  12.    Next
  13.    End With
  14.    With Sheet5
  15.    i = 0: .[F3] = A: .[B5:F9] = ""
  16.    Do Until i > UBound(Ar)
  17.       r = i Mod 5
  18.       .Cells(r + 5, 2).Resize(, 5) = Array(Ar(i)(2), Ar(i)(3), Ar(i)(4), Ar(i)(5), Ar(i)(6))
  19.       If r = 4 Or i = UBound(Ar) Then
  20.       .[F10] = r + 1 & "筆共" & s & "筆"
  21.          .PrintPreview
  22.          .[B5:F9] = ""
  23.       End If
  24.       i = i + 1
  25.    Loop
  26.    End With
  27.    With Sheet3 '寫入輸出內容工作表,若不採用合併列印可刪除此區段
  28.    .[A65536].End(xlUp).Offset(1).Resize(s, 7) = Application.Transpose(Application.Transpose(Ar))
  29.    End With
  30.    s = 0: Erase Ar
  31. Next
  32. End With
  33. End Sub
複製代碼
出貨單.rar (15.68 KB)
學海無涯_不恥下問

TOP

        靜思自在 : 甘願做、歡喜受。
返回列表 上一主題