返回列表 上一主題 發帖

[發問] Re:如何顯示所有商品(E4227 - E4234)之出貨標籤?

本帖最後由 Hsieh 於 2011-1-30 20:53 編輯

回復 1# R915327
  1. Private Sub CommandButton1_Click()
  2. j = 2: r = 2
  3. For Each a In Range([AS3], [AS65536].End(xlUp))
  4. k = a.Offset(, 3)
  5. For i = 1 To k
  6.   ar = Array(a, a.Offset(, 1), "", a.Offset(, 2))
  7.   Cells(r, j).Resize(4, 1) = Application.Transpose(ar)
  8.   j = j + 8
  9.   If j = 42 Then j = 2: r = r + 7
  10. Next
  11. If a.Offset(, 4) <> 0 Then
  12.   ar = Array(a, a.Offset(, 1), "", a.Offset(, 4))
  13.   Cells(r, j).Resize(4, 1) = Application.Transpose(ar)
  14.   j = j + 8
  15.   If j = 42 Then j = 2: r = r + 6
  16. End If
  17. Next
  18. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 3# R915327

   此種表格套印要用函數來寫會累死人的
VBA寫入是比較容易完成的
不懂VBA?
1.檢視/控制工具箱,選按鈕,在工作表中插入按鈕控制項
2.快點2下該按鈕,進入VBA編輯器
3.將代碼複製貼到編輯區中
4.結束設計模式
按下按鈕就會執行程式了
學海無涯_不恥下問

TOP

回復 9# R915327
  1. Private Sub CommandButton1_Click()
  2. j = 2: r = 2 'j變數為目標欄位,r變數為目標列位
  3. For Each a In Range([AS3], [AS65536].End(xlUp))
  4. k = a.Offset(, 3)
  5. For i = 1 To k '整包裝
  6. ar = Array(a, a.Offset(, 1), "", a.Offset(, 2))
  7. Cells(r, j).Resize(4, 1) = Application.Transpose(ar)
  8. j = j + 8
  9. If j = 42 Then j = 2: r = r + 7 '當j=42就要歸回地2欄列數就要加上標籤列數+1空白列
  10. Next
  11. If a.Offset(, 4) <> 0 Then '有散裝
  12.    ar = Array(a, a.Offset(, 1), "", a.Offset(, 4))
  13.    Cells(r, j).Resize(4, 1) = Application.Transpose(ar)
  14.    j = j + 8
  15.    If j = 42 Then j = 2: r = r + 7 '當j=42就要歸回地2欄列數就要加上標籤列數+1空白列
  16. End If
  17. Next
  18. End Sub
複製代碼
學海無涯_不恥下問

TOP

        靜思自在 : 並非有錢魷是快樂,問心無愧心最安。
返回列表 上一主題