返回列表 上一主題 發帖

[發問] 如何利用VBA按鍵,來找出違反規則的號碼。

回復 3# 准提部林


   
准大考量的是,的確在H欄直接出現提示比較方便,程式要幾天後才能測試,先謝謝准大了!

TOP

在H欄列出錯誤訊息,
用MSGBOX串出一大堆,關閉後忘光光,用處不大!!!

Sub 檢測()
Dim xD, xD1, R&, T$, TM1&, TM2&, i&
R = [C65536].End(xlUp).Row
[H:H].ClearContents
Set xD = CreateObject("Scripting.Dictionary")
Set xD1 = CreateObject("Scripting.Dictionary")
For i = 2 To R
  T = Range("C" & i): TM1 = Int(Range("E" & i)): TM2 = Int(Range("G" & i))
  If T = "" Or TM1 = 0 Or TM2 = 0 Then GoTo 101
  If TM1 < xD(T) Then xD1(T & TM1) = "到期日未排序": GoTo 101
  xD(T) = TM1
  If xD(T & TM2) = 0 Then xD(T & TM2) = TM1
  If xD(T & TM2) <> TM1 Then xD1(T & TM2) = "到期日異常": GoTo 101
101: Next
 
For i = 2 To R
  T = Range("C" & i):  TM1 = Int(Range("E" & i)): TM2 = Int(Range("G" & i))
  If xD1(T & TM1) <> "" Then Range("H" & i) = xD1(T & TM1)
  If xD1(T & TM2) <> "" Then Range("H" & i) = xD1(T & TM2)
102: Next
End Sub


〔製造日〕必須先排序,同編號的〔到期日〕比上面的小,就算異常!!

TOP

詳細問題內容       
規則1. 同樣的號碼中,在G欄相同的製造日期中,E欄的到期日也必須相同;       
規則2. 同樣的號 ...
RCRG 發表於 2015-12-11 11:38



    下半部E欄的到期日忘記上區塊顏色了....XD

TOP

        靜思自在 : 一個人不怕錯,就怕不改過,改過並不難。
返回列表 上一主題