返回列表 上一主題 發帖

[發問] EXCEL列印時,是否可印出流水號?

[發問] EXCEL列印時,是否可印出流水號?

因公司需求要設計一份表單,當中有一個欄位是流水號(流水號編碼:S1101001)
S不管、11代表西元年、01代表月份、001就是流水號
表格內容都是印出後自行填寫,但印出時會帶出流水號
如果我想要直接在列印的地方選擇列印份數,流水號就會自動到幾號,而下次列印時,又會自動接著下去
程式要怎麼寫?急急急!!!  :funk:

回復 1# vita

這跟你工作流程會有關聯
假如一天只印一次
那起始號不會有問題
若一天分多批列印那要把上次結束碼記在工作表內
以利下次列印取得起始碼
學海無涯_不恥下問

TOP

因為我一次要先印出好幾份,可能是整個月的數量
而且這表格,不是只有一個人在使用,所以為了怕避免有表單號碼重覆,所以才想問是否有公式或程式可以使用

謝謝

TOP

回復 3# vita
假設B1為流水編號位置
每天自動歸零從1開始編碼
  1. Private Sub CommandButton1_Click()
  2. k = InputBox("列印份數")
  3. If Left([B1], 6) <> Format(Date, "yymmdd") Then [B1] = Format(Date, "yymmdd") & "000"
  4. x = Val(Right([B1], 3))
  5. For i = 1 To k
  6. [B1] = Format(Date, "yymmdd") & Format(x + i, "000")
  7.    Sheet1.PrintPreview
  8. Next
  9. End Sub
複製代碼
學海無涯_不恥下問

TOP

不好意思,因為我還不會用VBA,所以是不是只要把你的程式COPY進去,就好了嗎?
還是我還要做什麼其他的動作?

謝謝!

TOP

回復 5# vita
看圖操作
學海無涯_不恥下問

TOP

本帖最後由 howard822 於 2012-3-23 00:22 編輯

不好意思∼我是EXCEL新手..沒有程式概念..
透過搜尋知道貴站∼想請教指導我一下∼
我的需求是每天都有三聯單報表要出貨,
ㄧ張報表ㄧ個SHEET..ㄧ張報表列印ㄧ次∼可是流水號要繼續累積∼

那我把該程式碼改成後:

Private Sub CommandButton1_Click()
If Left([I1], 6) <> Format(Date, "yymmdd") Then [I1] = Format(Date, "yymmdd") & "000"
x = Val(Right([I1], 3))
[I1] = Format(Date, "yymmdd") & "-" & Format(x + 1, "000")
   Sheet1.PrintPreview
End Sub

在原始SHEET可以正常表現,沒問題。
-----------------------------------------------------------------
可是我將SHEET複製(Ctrl+左鍵拖曳)之後~
功能無法正常使用了∼
請問我應該要怎麼做?
合抱之木,生於毫木;九層之臺,起於累土;千里之行,始於足下

TOP

請問版主可以指導小第一下嗎?
合抱之木,生於毫木;九層之臺,起於累土;千里之行,始於足下

TOP

回復 8# howard822
不知道這是不是你要的,試試看

1.加入一張空白的工作表,工作表名稱為"計數"


2.sheet1工作表模組
  1. Private Sub CommandButton1_Click()
  2. With Sheets("計數")
  3.   If Left(.[I1], 6) <> Format(Date, "yymmdd") Then
  4.      For Each Sh In Sheets
  5.        Sh.[I1] = ""
  6.      Next
  7.      .[I1] = Format(Date, "yymmdd") & "-000"
  8.   End If
  9.   x = Val(Right(.[I1], 3))
  10.   If ActiveSheet.[I1] = "" Then
  11.      .[I1] = Format(Date, "yymmdd") & "-" & Format(x + 1, "000")
  12.      ActiveSheet.[I1] = .[I1]
  13.   End If
  14.   ActiveSheet.PrintPreview
  15. End With
  16. End Sub
複製代碼
3.其他工作表都用sheet1去複製(ctrl+左鍵)

4.操作看看

TOP

回復 8# howard822


    在原始SHEET可以正常表現,沒問題。
這句話意思應該表示程式碼是正確了
但是,你說複製後就不行
我猜是Sheet1.PrintPreview的問題
Me.PrintPreview就會隨著工作表模組變動列印工作表了
不知道你的問題是否如此
學海無涯_不恥下問

TOP

        靜思自在 : 脾氣嘴巴不好,心地再好也不能算是好人。
返回列表 上一主題