Board logo

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

作者: R915327    時間: 2011-1-29 21:57     標題: 如何顯示所有商品(E4227 - E4234)之出貨標籤?

本帖最後由 R915327 於 2011-1-29 22:02 編輯

如題..檔於附件..

於內有E4227與E4228結果的舉例..

由於本身是人工輸入..並非是Excel本身產生..

想請問如何讓所有商品的標籤一次全部產生..

謝謝幫忙...:)
作者: Hsieh    時間: 2011-1-30 00:55

本帖最後由 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
複製代碼

作者: R915327    時間: 2011-1-30 12:39

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

Hsieh 抱歉..小弟錯發程式區..
本身沒學過VB..不會使用程式碼..
作者: Hsieh    時間: 2011-1-30 21:02

回復 3# R915327

   此種表格套印要用函數來寫會累死人的
VBA寫入是比較容易完成的
不懂VBA?
1.檢視/控制工具箱,選按鈕,在工作表中插入按鈕控制項
2.快點2下該按鈕,進入VBA編輯器
3.將代碼複製貼到編輯區中
4.結束設計模式
按下按鈕就會執行程式了
[attach]4602[/attach]
作者: R915327    時間: 2011-1-31 12:52

非常感謝!! ^^
作者: R915327    時間: 2011-2-7 16:26

Hsieh 再次請教..如何將程式碼套入夾帶的新檔案..修改?
作者: R915327    時間: 2011-2-11 12:43     標題: Re:如何顯示所有商品(E4227 - E4234)之出貨標籤?

發問處﹝http://forum.twbts.com/thread-2555-1-2.html 〕
作者: R915327    時間: 2011-2-27 13:02

承接【帖4#】..發現有個bug的存在..情況如夾檔所示..
其中影印(1)正常..然而影印(2)與(3)便出現字跑出格子外..請問如何修正..謝謝!! :)
作者: Hsieh    時間: 2011-2-28 20:06

回復 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
複製代碼

作者: R915327    時間: 2011-3-1 12:42

謝謝! Hsieh




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