Re: [算表] VBA 序號自動產生(VBA)

看板Office作者 (windknife18)時間17年前 (2009/06/05 22:04), 編輯推噓2(203)
留言5則, 2人參與, 最新討論串1/1
試了一下,應該是你使用 yymmdd 所以會有第一個是0的情況, 而 excel 又把他認為是數字,所以第一個0會不見了 ... 改以下得方法試看看! Sub 按鈕1_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).NumberFormatLocal = "@" Worksheets("sheet2").Cells(4, 2).Value = da & i Worksheets("sheet1").Cells(1, 3).NumberFormatLocal = "@" Worksheets("sheet1").Cells(1, 3).Value = da & i End Sub ※ 引述《itat2007 (Black Day)》之銘言: : 軟體: 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.229.79.205

06/05 22:32, , 1F
w大 數字不會跳 >"<
06/05 22:32, 1F
※ 編輯: windknife18 來自: 140.131.84.79 (06/06 08:42)

06/06 08:43, , 2F
有個地方打錯了 sheet1 --> sheet2 了,我修改過了,
06/06 08:43, 2F

06/06 08:43, , 3F
在試看看囉
06/06 08:43, 3F

06/09 08:16, , 4F
感謝W大,真的有在跑了,感謝
06/09 08:16, 4F

06/09 12:12, , 5F
^^
06/09 12:12, 5F
文章代碼(AID): #1AAINSbg (Office)
文章代碼(AID): #1AAINSbg (Office)