返回列表 上一主題 發帖

[發問] 請問我想做個上下產品的比對應該怎麼寫

[發問] 請問我想做個上下產品的比對應該怎麼寫

各位大大好 如題 由於客戶 廠商繁多 每個人需求又不一樣 常常因為輸入錯誤名稱導致生產錯誤
懇請大大幫忙指導一下 當下比對不一樣時可以跳出視窗提醒 並將底色更換

產品比對.zip (5.7 KB)

師我

各位大大好 如題 由於客戶 廠商繁多 每個人需求又不一樣 常常因為輸入錯誤名稱導致生產錯誤
懇請大大幫忙指 ...
et010884 發表於 2013-12-10 14:58



    那個位置與那個位置比對?
懂得發問,答案就會在其中

今日の一秒は  明日にない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

各位大大好 如題 由於客戶 廠商繁多 每個人需求又不一樣 常常因為輸入錯誤名稱導致生產錯誤
懇請大大幫忙指 ...
et010884 發表於 2013-12-10 14:58

以下程式放在 ThisWorkBook 內
  1. Private Sub Workbook_Open()
  2.   Dim lRow&
  3.   
  4.   Set dD = CreateObject("Scripting.Dictionary")
  5.   lRow = 3
  6.   With Sheets("工作表1")
  7.     Do While .Cells(lRow, 2) <> ""
  8.       If .Cells(lRow, 3) <> "" Then
  9.         If dD(CStr(.Cells(lRow, 2))) = "" Then
  10.           dD(CStr(.Cells(lRow, 2))) = CStr(.Cells(lRow, 3))
  11.         Else
  12.           If dD(CStr(.Cells(lRow, 2))) <> .Cells(lRow, 3) Then
  13.             .Cells(lRow, 3).Interior.ColorIndex = 37
  14.             MsgBox ("比對錯誤")
  15.           End If
  16.         End If
  17.       Else
  18.         .Cells(lRow, 3).Interior.ColorIndex = 37
  19.         MsgBox ("沒有產品名稱")
  20.       End If
  21.       lRow = lRow + 1
  22.     Loop
  23.   End With
  24. End Sub
複製代碼
以下程式放在 Module 內
  1. Public dD
複製代碼
以下程式放在 Sheet1 內
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.   If Target.Count = 1 Then
  3.     With Target
  4.       If (.Column = 2 Or .Column = 3) And .Offset(, 2 - .Column) <> "" And .Offset(, 3 - .Column) <> "" Then
  5.         If dD(CStr(.Offset(, 2 - .Column))) <> .Offset(, 3 - .Column) Then
  6.           .Interior.ColorIndex = 37
  7.           MsgBox ("輸入錯誤")
  8.           .Select
  9.         Else
  10.           .Interior.ColorIndex = -4142
  11.         End If
  12.       End If
  13.     End With
  14.   End If
  15. End Sub
複製代碼
產品比對-a.zip (13.49 KB)

TOP

回復 3# luhpro


  謝謝大大
師我

TOP

        靜思自在 : 布施如播種,以歡喜心滋潤種子,才會發芽。
返回列表 上一主題