Board logo

標題: [發問] 如何將出貨數量數字.帶到另個工作表後自動產生流水編號 [打印本頁]

作者: PD961A    時間: 2010-9-3 11:29     標題: 如何將出貨數量數字.帶到另個工作表後自動產生流水編號

請問先進
如何將工作表"編號"的出貨數量數字..帶到SHEET1後自動產生流水編號…
若出貨數量為100則工作表1需要有100列同資料..但不同流水編號..
(SHEET1的編號以18碼為原則..希望能不拆開這18碼..)謝謝.


[attach]2676[/attach]
作者: GBKEE    時間: 2010-9-12 17:30

回復 1# PD961A
  1. Sub Ex()
  2.     Dim i%
  3.     With Sheets("編號")
  4.         For i = 1 To .[h2] - 1
  5.             .[A2:G2].Offset(i) = .[A2:G2].Value
  6.             .[A2:G2].Offset(i).Cells(4) = Mid(.[d2], 1, 11) & Format(i + 1, "0000000")
  7.         Next
  8.     End With
  9. End Sub
複製代碼

作者: PD961A    時間: 2010-9-12 23:29

回復 2# GBKEE


    版主謝謝您
對不起大概是我的敘述不是很完整
所以您的程式碼帶入後...得到的結果是相反的

資料輸入是在工作表"編號"H欄的出貨數量為標的
若出貨數量為"50"則在工作表SHEET1會得到50個不同編號順序的流水號
而不是在"編號"那張表排序出50個流水號
非常感謝您....
[attach]2773[/attach]

[attach]2774[/attach]
作者: oobird    時間: 2010-9-12 23:50

  1. Sub Ex()
  2.     Dim i%
  3.     With Sheets("編號")
  4.         For i = 1 To .[h2]
  5.             Sheets("Sheet1").[A1:G1].Offset(i) = .[A2:G2].Value
  6.             Sheets("Sheet1").[A1:G1].Offset(i).Cells(4) = Mid(.[d2], 1, 11) & Format(i, "0000000")
  7.         Next
  8.     End With
  9. End Sub
複製代碼
指定表名即可。
作者: Hsieh    時間: 2010-9-12 23:52

回復 3# PD961A
  1. Sub nn()
  2. With Sheets("編號")
  3. ReDim ar(.[H2] - 1)
  4. cnt = CDec(Mid(.[D2], 2))
  5. For i = 0 To .[H2] - 1
  6.   ar(i) = Array(.[A2].Value, "'" & .[B2].Value, .[C2].Value, Mid(.[D2], 1, 1) & cnt + i, .[E2].Value, .[F2].Value, .[G2].Value)
  7. Next
  8. Sheet1.[A2].Resize(.[H2], 7) = Application.Transpose(Application.Transpose(ar))
  9. End With
  10. End Sub
複製代碼

作者: PD961A    時間: 2010-9-13 00:11

本帖最後由 PD961A 於 2010-9-13 00:20 編輯

回復 4# oobird
回復 5# Hsieh

    謝謝2位版主
您們目前給的程式可以輸入一列後帶到SHEET1=50個流水號

可以再請問
若持續輸入數筆資料後
是否仍能持續有排序流水號的功能
謝謝您
[attach]2778[/attach]

[attach]2779[/attach]
作者: oobird    時間: 2010-9-13 07:34

問題最好明確些,數筆資料你想建立那一筆的流水號?全部平均分攤那50筆?
作者: PD961A    時間: 2010-9-13 09:44

回復 7# oobird

oobird版主謝謝您
   
資料輸入是在工作表"編號"H欄的出貨數量為標的

以SHEET1是執行後結果
若編號工作表第1列輸入H欄的出貨數量為標的100..則在工作表SHEET1-"D欄"會得到100個流水號(001~100)

同頁資料輸入在編號工作表第2列輸入H欄的出貨數量為標的10..
則在工作表SHEET1-"D欄"會得到10個流水號(101~110)

同頁資料輸入編號工作表第3列
輸入H欄的出貨數量為標的2..則在工作表SHEET1-"D欄"延續109之後
得到111~112
以此類推....

流水號在客戶端需求共7碼
只能累計不能重複
謝謝您
作者: Hsieh    時間: 2010-9-13 11:23

  1. Sub nn()
  2. Set d = CreateObject("Scripting.Dictionary")
  3. Set d1 = CreateObject("Scripting.Dictionary")
  4. With Sheets("編號")
  5. For Each a In .Range(.[A2], .[A65536].End(xlUp))
  6.     d(a.Value) = d(a.Value) + a.Offset(, 7)
  7.     d1(a.Value) = Array(a.Value, a.Offset(, 1).Value, a.Offset(, 2).Value, Mid(a.Offset(, 3), 1, 11), a.Offset(, 4).Value, a.Offset(, 5).Value, a.Offset(, 6).Value)
  8. Next
  9. Sheets("Sheet1").[A2:G65536].Clear
  10. For Each ky In d.keys
  11.    ReDim Ar(d(ky))
  12.    For i = 0 To d(ky) - 1
  13.      x = d1(ky)(3) & Format(i, "0000000")
  14.      With Sheets("Sheet1")
  15.        .[A65536].End(xlUp).Offset(1, 0).Resize(, 7) = Array(d1(ky)(0), d1(ky)(1), d1(ky)(2), x, d1(ky)(4), d1(ky)(5), d1(ky)(6))
  16.      End With
  17.    Next
  18. Next
  19. End With
  20. End Sub
複製代碼

作者: PD961A    時間: 2010-9-15 00:30

本帖最後由 PD961A 於 2010-9-17 09:50 編輯

謝謝
GBKEE
oobird
Hsieh 版主

客戶端需求更新
重新上傳檔案
請先進給予修正執行後的畫面
謝謝..

[attach]2805[/attach]


[attach]2806[/attach]



[attach]2807[/attach]
作者: GBKEE    時間: 2010-9-17 17:34

回復 10# PD961A
  1. Sub Ex()
  2.     Dim Rng As Range, N%
  3.     Set Rng = Sheet2.Range("A1").CurrentRegion
  4.     Sheet1.Range("A1").CurrentRegion.Offset(1) = ""
  5.     N = 1
  6.     For i = 2 To Rng.Rows.Count
  7.         For II = 1 To Rng.Rows(i).Cells(Rng.Columns.Count)
  8.             With Sheet1.Range("A1").CurrentRegion.Rows(N + 1)
  9.                 .Value = Rng.Rows(i).Resize(, Rng.Columns.Count - 1).Value
  10.                 .Cells(4) = Rng.Rows(i).Cells(4) & Format(N, "0000000")
  11.                 N = N + 1
  12.             End With
  13.         Next
  14.     Next
  15. End Sub
複製代碼

作者: PD961A    時間: 2010-9-17 21:16

本帖最後由 PD961A 於 2010-9-21 16:23 編輯

回復 11# GBKEE


    謝謝GBKEE版主
作者: PD961A    時間: 2010-9-21 16:23

本帖最後由 PD961A 於 2010-9-21 17:39 編輯

回復 11# GBKEE

版主
不好意思..帶到條碼機程式後..PN的資料有些資料讀不出來
可以請您幫忙修正..謝謝您..

[attach]2836[/attach]
作者: GBKEE    時間: 2010-9-21 17:14

回復 13# PD961A
請附上 條碼機程式 試試看
作者: PD961A    時間: 2010-9-29 11:07

回復 14# GBKEE


    請問版主和先進
ELSeq的流水號排序會重複..請問可以修正嗎?謝謝....

ELSeq需求(I0831固定前5碼)(6-11碼為年月日)
若第1次輸入內容為I0831100109出貨數量=4則按下執行鈕後..SHEET1可得到
I08311001090000001~0000004的流水號排序

[attach]2914[/attach]


可是同天生產的製造日期會有相同..但是品名不同
若清除第1次輸入的內容再輸入不同的品名(但同生產日期)會產生相同的ELSeq
[attach]2915[/attach]


[attach]2916[/attach]
作者: GBKEE    時間: 2010-9-29 19:33

回復 15# PD961A
  1. Sub Ex()
  2.    '在Sheet2的IU欄加上日期紀錄輔助
  3.   Dim Rng As Range, N%, F As Range, No%
  4.    Dim Sh As Worksheet
  5.     Set Sh = Sheet2
  6.     Set Rng = Sh.Range("A1").CurrentRegion
  7.     Sheet1.Range("A1").CurrentRegion.Offset(1) = ""
  8.     N = 2
  9.     For i = 2 To Rng.Rows.Count
  10.         For II = 1 To Rng.Rows(i).Cells(Rng.Columns.Count)
  11.             ''''''''''''''''''''''''''''''''''''''''''''''''''''
  12.             Set F = Sh.Range("IU:IU").Find(Rng.Rows(i).Cells(5).Value)
  13.             If Not F Is Nothing Then No = F(1, 2) + 1 Else No = 1
  14.            '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  15.             With Sheet1.Range("A1").CurrentRegion.Rows(N)
  16.                 .Value = Rng.Rows(i).Resize(, Rng.Columns.Count - 1).Value
  17.                 .Cells(4) = Rng.Rows(i).Cells(4) & Format(No, "0000000")
  18.                 N = N + 1
  19.                 No = No + 1
  20.             End With
  21.             ''''''''''''''''''''''''''''''''''
  22.             If Not F Is Nothing Then
  23.                 F(1, 2) = No - 1
  24.             Else
  25.                 With Sh.Range("IU65536").End(xlUp)
  26.                     .Offset(1) = Rng.Rows(i).Cells(5).Text
  27.                     .Offset(1, 1) = No - 1
  28.                 End With
  29.             End If
  30.             '''''''''''''''''''''''''''''''''''''''''
  31.         Next
  32.     Next
  33. End Sub
複製代碼

作者: PD961A    時間: 2010-9-30 08:43

回復 16# GBKEE
版主
請問
    '在Sheet2的IU欄加上日期紀錄輔助
這行指令要在Sheet2的IU欄加上日期?請問要如何加??
謝謝您..
作者: GBKEE    時間: 2010-9-30 13:00

    '在Sheet2的IU欄加上日期紀錄輔助
這行指令要在Sheet2的IU欄加上日期?請問 ...
PD961A 發表於 2010-9-30 08:43

這行不是指令 是註解 前面有加上'  註解符號
程式裡有兩段註解中的程式碼 就是在Sheet2的IU欄加上日期紀錄輔助
執行看看就知道
作者: PD961A    時間: 2010-9-30 13:08

回復 18# GBKEE

版主
    這行不是指令 是註解 前面有加上'  註解符號
不好意思...我知道它是程式碼裡的註解符號...
是要請問您加到SHEET2的IU欄的日期??怎麼加??
我到"編號"那個工作表的IU1欄打入日期後執行不會變阿...
不知道哪裡不對...
謝謝您..
作者: GBKEE    時間: 2010-9-30 17:04

本帖最後由 GBKEE 於 2010-9-30 17:05 編輯
程式裡有兩段註解中的程式碼 就是在Sheet2的IU欄加上日期紀錄輔助
執行看看就知道GBKEE 發表於 2010-9-30 13:00


我是告訴你 程式在 Sheet2的IU欄加上日期紀錄輔助  請執行程式後到IU欄看看

請你不用到"編號"那個工作表的IU1欄打入日期
作者: PD961A    時間: 2010-9-30 17:12

回復 20# GBKEE


   
謝謝您..版主
終於弄好了.........




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