標題:
VBA 當2個條件一樣時,自動尋找輸入 2
[打印本頁]
作者:
man65boy
時間:
2016-3-31 11:55
標題:
VBA 當2個條件一樣時,自動尋找輸入 2
當工作表上有"車輛編號"A201603030015和"司機(1)"黑松和"司機(2)"黑松時,這代表他已經送貨回來了,但因為他在不同樣的時間又出去送貨,所以還要再次輸入"車輛編號"A201603030015和"司機(1)"黑松,這個資料還要依序在A欄和B欄上轉寫,當他又送貨完回來時,又要回到只能在C欄產生B欄對應的資料,
(新增F欄為TextBox3 所填入的資料)也跟著回車輸入進去
,麻煩老師在費心了,謝謝!
覆檔:[attach]23663[/attach]
作者:
luhpro
時間:
2016-4-2 23:57
本帖最後由 luhpro 於 2016-4-2 23:58 編輯
回復
1#
man65boy
[Module]
Public lRows&
Public vDIO, vDPeo
複製代碼
[Sheet 主頁]
Private Sub cbInput_Click()
UserForm1.Show
End Sub
複製代碼
[ThisWorkbook]
Private Sub Workbook_Open()
Dim lRow&
Dim sStr$
Set vDIO = CreateObject("Scripting.Dictionary")
Set vDPeo = CreateObject("Scripting.Dictionary")
lRow = 2
While Cells(lRow, 1) <> ""
If Cells(lRow, 3) = "" Then
sStr = "O"
Else
sStr = "I"
End If
vDIO(CStr(Cells(lRow, 1) & "-" & Cells(lRow, 2))) = sStr
vDPeo(CStr(Cells(lRow, 1) & "-" & Cells(lRow, 2))) = lRow
lRow = lRow + 1
Wend
lRows = lRow - 1
End Sub
複製代碼
[UserForm]
Private Sub CommandButton1_Click()
Dim lRow&
If TextBox1 = "" Then
MsgBox "你必須輸入 (車輛編號)"
Exit Sub
End If
If TextBox2 = "" Then
MsgBox "你必須輸入 (司機人員)"
Exit Sub
End If
lRow = vDPeo(CStr(TextBox1 & "-" & TextBox2))
If vDIO(CStr(TextBox1 & "-" & TextBox2)) = "O" Then ' 回來了
Cells(lRow, 3) = TextBox2
Cells(lRow, 5) = Now
Cells(lRow, 6) = ComboBox1.Text
vDIO(CStr(TextBox1 & "-" & TextBox2)) = "I"
Else ' 即將外出
lRows = lRows + 1
Cells(lRows, 1) = TextBox1
Cells(lRows, 2) = TextBox2
Cells(lRows, 4) = Now
vDIO(CStr(TextBox1 & "-" & TextBox2)) = "O"
vDPeo(CStr(TextBox1 & "-" & TextBox2)) = lRows
End If
End Sub
Private Sub UserForm_Initialize()
ComboBox1.AddItem "NO"
ComboBox1.AddItem "Yes"
ComboBox1.ListIndex = 0
End Sub
複製代碼
請留意 : 主頁 的 輸入按鈕 我有重建成 cbInput 按鈕物件
[attach]23687[/attach]
作者:
man65boy
時間:
2016-4-3 11:50
回復
2#
luhpro
感謝luhpro老師的答覆,完美好實用,真的很謝謝!
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)