- 帖子
- 1447
- 主題
- 40
- 精華
- 0
- 積分
- 1471
- 點名
- 0
- 作業系統
- Windows 7
- 軟體版本
- Excel 2010 & 2016
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2020-7-15
- 最後登錄
- 2025-5-5
|
16#
發表於 2022-10-11 14:16
| 只看該作者
回復 13# Andy2483
謝謝前輩再回覆
後學把 搜尋資料庫決定單號複習並註解了一下!
後學也是藉由這一主題學到變數的宣告將字串與數字做變換
謝謝前輩發表此主題與範例
以下心得供前輩參考
Sub 搜尋資料庫決定單號()
'↓數字與字串可以由一開始的宣告就決定這變數是字串或數字!
Dim Arr, T, xA, xB, xC, N, Mx&, D1$, O1$, D2&, O2&, M1$, M2&
'↑宣告變數
Set xA = Sheets("資料輸入")
'↑令xA是 "資料輸入" 工作表
Set xB = Sheets("出貨資料")
'↑令xB是 "出貨資料" 工作表
Set xC = Sheets("資料庫")
'↑令xA是 "資料庫" 工作表
If xB.Cells(Rows.Count, "B").End(3).Row > 1 Then
'↑如果 "出貨資料" 最後一列列數大於1 !
xB.Activate
'↑畫面就跳到 "出貨資料" 工作表
MsgBox "舊的出貨資料未處理!"
Exit Sub
'↑出現提示!結束程式!
End If
O1 = xA.[B2]: O2 = O1
'↑令O1這變數是 "資料輸入" 工作表.[B2] 字串
'↑令O2這變數是 O1變數轉整數
M1 = xC.Cells(Rows.Count, "B").End(3)
'↑令M1這變數是 "資料庫" 工作表.B欄最後那儲存格 字串
M2 = M1
'↑令M2這變數是 M1變數轉整數
D1 = Format(Date, "yymmdd")
'↑令D1是今天日期組成的字串例如22/10/11 轉成 "221011"
D2 = D1 & "001"
'↑令D2是 組成今日第一筆出貨單的序號(數字)
If InStr(M1, D1) Then
'↑如果M1字串有包含D1字串
xA.[B2] = M2 + 1
'↑條件若成立!代表 "資料庫" 工作表已經有今天的序號
'↑M2是數字就+1 填到 "資料輸入" 工作表的.[B2]
xA.[B2].Interior.ColorIndex = xlNone
'↑令 "資料輸入" 工作表的.[B2]底色無色
xA.[B2].Font.ColorIndex = 1
'↑令 "資料輸入" 工作表的.[B2]字色是黑色
Else
xA.[B2] = D2
'↑否則代表今天還沒有存入今天的出貨單
'↑"資料輸入" 工作表的.[B2] 就讓他是今天的第一筆序號D2
xA.[B2].Interior.ColorIndex = xlNone
'↑令 "資料輸入" 工作表的.[B2]底色無色
xA.[B2].Font.ColorIndex = 1
'↑令 "資料輸入" 工作表的.[B2]字色是黑色
End If
End Sub |
|