[算表] VBA 序號自動產生

看板Office作者 (Black Day)時間17年前 (2009/06/05 00:11), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串1/2 (看更多)
軟體: EXCEL 版本: 2003 ============================================================= 請問一下各位大大,小弟要做一個序號自動產生,以日期為前六碼號碼 最後一個為流水號 在sheet2欄中做一個按鈕,要比對sheet1欄中某個數值, 這個數值就是前次輸入的序號,但是如果填入欄位做比對 都會不成立,如果手動輸入數值就可以 不知道問題出在哪,以下是程式碼,希望各位大大幫我看看 謝謝 ================================================== Private Sub CommandButton1_Click() Dim da As Variant Worksheets("sheet2").Cells(4, 3).Value = Date da = Format(Worksheets("sheet2").Cells(4, 3).Value, "yymmdd") i = 0 Do i = i + 1 Loop Until da & i > Worksheets("sheet1").Cells(1, 3).Value Worksheets("sheet2").Cells(4, 2).Value = da & i Worksheets("sheet1").Cells(1, 3).Value = da & i End Sub -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.64.16.123 ※ 編輯: itat2007 來自: 61.64.16.123 (06/05 00:13)

06/05 11:06, , 1F
不確定你所謂的填入欄位做比對不成立,
06/05 11:06, 1F

06/05 11:07, , 2F
而手動輸入數值就可以的意思? 還有如果要增加序號
06/05 11:07, 2F

06/05 11:08, , 3F
不需要用迴圈,把最後值加 1,在和日期串起來就可以了
06/05 11:08, 3F

06/05 21:42, , 4F
就是把 loop那改成da & i > 0906051就會成功跑出0906052
06/05 21:42, 4F

06/05 21:43, , 5F
這樣便成日期 090605 會變090606 沒辦法用序號判斷日期
06/05 21:43, 5F
文章代碼(AID): #1A9_95vn (Office)
文章代碼(AID): #1A9_95vn (Office)