- 帖子
- 2842
- 主題
- 10
- 精華
- 0
- 積分
- 2898
- 點名
- 0
- 作業系統
- 〔略〕
- 軟體版本
- 〔略〕
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 〔略〕
- 註冊時間
- 2013-5-13
- 最後登錄
- 2025-4-28
|
6#
發表於 2019-3-25 20:12
| 只看該作者
回復 5# john2006168
不清不楚, 矇著寫:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim xF As Range, Cr, DNo1&, dNo2&, xE As Range
With Target
If .Address <> "$A$2" Then Exit Sub
If .Value = "" Then Exit Sub
Set xF = [F:F].Find(.Value, Lookat:=xlWhole, SearchDirection:=xlPrevious) '取得最後一筆 shipment ref
If Not xF Is Nothing Then DNo1 = Val(xF(1, -3)) + 1 '得最後一筆 shipment ref 的 batch no +1
Set xF = [Data!H:H].Find(.Value, Lookat:=xlWhole)
If xF Is Nothing Then Exit Sub
Application.EnableEvents = False
Cr = Array(9, 2, 9, 8, 6, 7, 1, 16, 17, 18, 19, 20, 21)
Set xE = Cells(Rows.Count, 3).End(xlUp)(2)
If xE.Row < 5 Then Set xE = [C5]
For j = 1 To 13
xE(1, j) = Sheets("Data").Cells(xF.Row, Cr(j - 1)).Value
Next j
If Not IsDate(xE(1, 2)) Then Exit Sub
dNo2 = Format(xE(1, 2), "yymm") * 1000 + 1
xE(1, 0) = Application.Max(DNo1, dNo2)
Application.EnableEvents = True
End With
End Sub
Xl0000285.rar (24.04 KB)
|
|