返回列表 上一主題 發帖

小問題請高手幫忙看一下!!

小問題請高手幫忙看一下!!

請問各位高手前輩們...小的目前試作工作管理表碰上兩個小問題..請幫忙看一下!..謝謝~~

工作交接紀錄簿-測試版.zip (84.94 KB)

1. 當使用"工作交接常日輸入表單"後利用ITEM搜尋 , 小的有設計若找不到相符合條件會出現對話框但無論如何是否相符合都會出現異常訊息 "無相符合的紀錄" , 但用LotNo搜尋則無此問題!~ 可否請各位高手前輩們幫忙看一下哪邊編寫有誤呢!?
  1. If Cells(2, 1) > ITEM.Value Then
  2. Else
  3. MsgBox "無找到相符合條件的紀錄!", vbExclamation, "錯誤"
複製代碼
2. 一樣使用"工作交接常日輸入表單"無論利用ITEM or LotNo搜尋到符合條件後可將Owner~備註欄位填到"工作交接事項"的對應欄位 , 由於小的無論編寫後總是有一種方式在新增紀錄後會跳至下一列 , 而非對應欄位~.. 請各位高手前輩們幫忙看一下!.. 謝謝~~
  1. '判斷資訊是否輸入完整
  2.     If Owner.Value = "" Or 回覆時間.Value = "" Or 回覆結果.Value = "" Or 回覆附件.Value = "" Or 備註.Value = "" _
  3.        Then
  4.        MsgBox "資訊輸入不完整,請重新輸入!", vbExclamation, "錯誤提示"
  5.         '退出執行程式
  6.        Exit Sub
  7.     End If
  8.    
  9.     If MsgBox("確認是否需修改", vbQuestion + vbYesNo, "詢問") = vbYes Then
  10.          nrow = Worksheets("工作交接事項").Range("A2:A65536").Find(ITEM.Value, lookat:=xlWhole).Row
  11.    
  12.     Else
  13.          nrow = Worksheets("工作交接事項").Columns(6).Find(LotNo.Value, lookat:=xlWhole).Row
  14.    
  15.     End If
  16.    
  17.     With Worksheets("工作交接事項")
  18.       
  19.         .Range(.Cells(nrow, 11), .Cells(nrow, 11)) = Owner.Value
  20.         .Range(.Cells(nrow, 12), .Cells(nrow, 12)) = 回覆時間.Value
  21.         .Range(.Cells(nrow, 13), .Cells(nrow, 13)) = 回覆結果.Value
  22.         .Range(.Cells(nrow, 14), .Cells(nrow, 14)) = 回覆附件.Value
  23.         .Range(.Cells(nrow, 15), .Cells(nrow, 15)) = 備註.Value
  24.         
  25.     End With
複製代碼

謝謝c_c_lai 大大幫忙小的解決問題...!! 感激不盡~~
另外請教一下~ 小的已經重新試過~...但還是有小小的疑問懇請幫忙解答一下~...謝謝喔!!~

1. 由於小的還在試學Excel VBA有錯請再不吝指導...謝謝~
已經將ITEM按鈕的搜尋改為如下 , 不知是否有改錯! 另將Cells移除改為Rng但無論有否加Else , 只會出現兩種情形:
a. 無加Else無論有否相同條件都會出現錯誤訊息
b. 有加Else無論有否相同條件都"不會"出現錯誤訊息
小的怕是否誤解大大的意思... 是否懇請在幫忙看一下!... 謝謝~~
  1. '宣告 a = 表單的ITEM
  2. a = UserForm3.ITEM.Text
  3. Set myRange = Range("工作交接事項").Columns(1).Find(a, lookat:=xlWhole)

  4. If Not Rng Is Nothing Then
  5. Else
  6. MsgBox "無找到相符合條件的紀錄!", vbExclamation, "錯誤"
  7. End If
複製代碼
2. 小的加入LotNo.Value & ITEM.Value = "" '為未選擇狀態 , 是怕使用者誤解不知這會造成語病感謝指導!... 請教若搜尋ITEM時將LotNo控制項內容清空反之相同的話 , 請問小的要寫在哪裡才不會造成與病困擾呢!? ... 這兩項移除確認可編寫在同一欄位了! 謝謝大大指導~... 以上請在幫忙確認一下 ! 感激~

TOP

不好意思有關第2點小的後來試過發現如果為ITEM搜尋的"新增紀錄"可在同一列的欄位但若為LotNo搜尋的"新增紀錄"卻無法新增在同一列的欄位請教大大是否哪邊程式碼需要更改呢!... 麻煩了~謝謝!!
  1. Private Sub CommandButton2_Click()
  2.     '判斷資訊是否輸入完整
  3.     If Owner.Value = "" Or 回覆時間.Value = "" Or 回覆結果.Value = "" Or 回覆附件.Value = "" Or 備註.Value = "" _
  4.        Then
  5.        MsgBox "資訊輸入不完整,請重新輸入!", vbExclamation, "錯誤提示"
  6.         '退出執行程式
  7.        Exit Sub
  8.     End If
  9.    
  10.     If MsgBox("確認是否需修改", vbQuestion + vbYesNo, "詢問") = vbYes Then
  11.          nrow = Worksheets("工作交接事項").Range("A2:A65536").Find(ITEM.Value, lookat:=xlWhole).Row
  12.    
  13.     Else
  14.          nrow = Worksheets("工作交接事項").Columns(6).Find(LotNo.Value, lookat:=xlWhole).Row
  15.    
  16.     End If
  17.    
  18.     With Worksheets("工作交接事項")
  19.       
  20.         .Range(.Cells(nrow, 11), .Cells(nrow, 11)) = Owner.Value
  21.         .Range(.Cells(nrow, 12), .Cells(nrow, 12)) = 回覆時間.Value
  22.         .Range(.Cells(nrow, 13), .Cells(nrow, 13)) = 回覆結果.Value
  23.         .Range(.Cells(nrow, 14), .Cells(nrow, 14)) = 回覆附件.Value
  24.         .Range(.Cells(nrow, 15), .Cells(nrow, 15)) = 備註.Value
  25.         
  26.     End With
複製代碼

TOP

抱歉!.. 由於上班緣故晚回!..主要規劃項目如圖所示 :


小的後面有試過以下幾種 :
1. 若利用ITEM搜尋後"新增紀錄"可在同一列後續相關欄位無問題!
2. 若利用ITEM and LotNo搜尋後"新增紀錄"可在同一列後續相關欄位無問題!
3. 若單獨利用LotNo搜尋後"新增紀錄"無法在同一列後續相關欄位!

小的改由以下方式也似乎不行 .. 無論用Or / And都不行!..
主要是想利用雙搜尋的方式來找到正確的同一列資訊後 , 新增/修改在同一列的後續欄位上
再請大大幫忙確認一下是否哪邊編寫有誤呢!.. 謝謝~感激不盡!!
  1. If MsgBox("確認是否需修改", vbQuestion + vbYesNo, "詢問") = vbYes Then
  2.          nrow = Worksheets("工作交接事項").Range("A2:A65536").Find(ITEM.Value, lookat:=xlWhole).Row Or _
  3.          nrow = Worksheets("工作交接事項").Columns(6).Find(LotNo.Value, lookat:=xlWhole).Row
  4.    
  5.     Else
  6.          'nrow = Worksheets("工作交接事項").Columns(6).Find(LotNo.Value, lookat:=xlWhole).Row
  7.    
  8.     End If
  9.    
  10.     With Worksheets("工作交接事項")
  11.       
  12.         .Range(.Cells(nrow, 11), .Cells(nrow, 11)) = Owner.Value
  13.         .Range(.Cells(nrow, 12), .Cells(nrow, 12)) = 回覆時間.Value
  14.         .Range(.Cells(nrow, 13), .Cells(nrow, 13)) = 回覆結果.Value
  15.         .Range(.Cells(nrow, 14), .Cells(nrow, 14)) = 回覆附件.Value
  16.         .Range(.Cells(nrow, 15), .Cells(nrow, 15)) = 備註.Value
  17.         
  18.     End With
複製代碼

TOP

真的很感謝c_c_lai大大... 小的研究所以晚回... 很抱歉喔!
目前小的測試結果是正常的果然前輩的手法比小的高明甚多~...
沒有想到在搜尋LotNo同時顯示相對應的ITEM編號... 真的太聰明了!...
再次感謝c_c_lai大大... 另新增測試也是正常的...小的會謹記大大的教導"程式規劃明確&流程分明"的目標努力中
若有造成不便之處敬請見諒... 小的會努力學習的!... 感恩~謝謝c_c_lai大大的指導!

TOP

        靜思自在 : 人要知福、惜福、再造福。
返回列表 上一主題