返回列表 上一主題 發帖

[發問] 請問怎麼比較日期?

[發問] 請問怎麼比較日期?



如圖所示 我已經可以把B欄日期用程式碼比較出來

但是現在要利用A欄找出同一位客戶但是B欄要顯示最新的

例如成輔企業  2017/11/30

想請問這樣程式碼要怎麼樣編寫
  1. Sub 日期比較()
  2. dim a as variant,b as variant

  3. a=range("b1").value
  4. b=range("b2").value

  5. if a>b then
  6. range("c1").value=range("b1").value
  7. msgbox range("c1").value
  8. else
  9. range("c1").value=range("b2").value
  10. msgbox range("c1").value
  11. end if

  12. end sub
複製代碼
這程式碼要怎麼改才能找同一位客戶到期日最新
請教各位了   謝謝

本帖最後由 GBKEE 於 2015-9-8 09:08 編輯

回復 20# SinYun



准提部林 版主: 3.〔日期〕欄有很多錯誤及無效值,理應清除或更正,這會造成統計上的困擾!(其它欄位亦然)


Application.WorksheetFunction.Max 程式的錯誤,為〔日期〕欄的錯誤值所造成.
你的檔案很龐大,肇因使用大量的函數,光是開啟的重算就很費時.
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 准提部林 於 2015-9-7 16:30 編輯

回復 20# SinYun

附檔下載:
http://www.funp.net/629089
使用這個免費空間,是非得已,因很容易被移除或覆蓋,而失去永久性參考;
請多多參與討論升級,以獲得下載附件權限;當然,若能以贊助論壇方式也並無不可(相信獲得會更多)!

1.〔銷售統計〕表的〔標題〕在第2列,所以須改範圍:
  Sheets("銷售統計").UsedRange.Offset(1, 0).Columns("H:H")
2.〔User〕名稱有〔強制換列〕,例如:
  Per titled, the customer is
  ウシオ電機株式会社(USHIO INC.)
  這不是〔資料表〕輸入的常規,應輸入成一行,再使用〔格式〕的自動換列才是正辦!(不要將excel當word用)
3.〔日期〕欄有很多錯誤及無效值,理應清除或更正,這會造成統計上的困擾!(其它欄位亦然)
4.檔中程式碼經測試都OK,若在您的PC中會有錯誤,可能是OFFICE版本問題,恕無法為您排解(我只有OFFICE 2000),
  這就有勞與您同版本的大大來解決!
 
_我只是無給職掛名的版主,希望以上解答對您有幫助∼∼
 台灣稀有的EXCEL專門論壇,需要大家多方支持∼∼
 

TOP

回復 19# GBKEE

你好 我的檔案太大了  所以我現附上另外一個網址
   http://www.funp.net/858398

請您查看 我有在巨集裡貼上有問題的那個巨集

TOP

回復 14# 准提部林
你的檔案附檔名.xlsx沒有巨集的Excel檔,執行你修改的程式碼,沒有問題的.
要看看附檔名.xlsm有巨集的EXCEL檔,才知你錯在哪裡.
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 17# SinYun

另一下載址:
http://www.funp.net/491882

我只有OFFICE 2000,請自行去套用!

TOP

回復 16# 准提部林


    抱歉 我的級別還不能下載附件  所以我是複製下來用到我的檔案去弄
他是說第6跟第7行執行錯誤  

A2 跟B2是另存新的工作表意思嗎?

TOP

回復 15# SinYun


1.資料索引超出範圍  >>是用範例檔執行的嗎?錯誤在哪一行?
2.我想問說A2跟B2是指儲存格嗎?  >>指〔工作表3〕的A2.A3

程式碼並不複雜,先去了解〔工作表.儲存格〕的引用方法!
 

TOP

回復 14# 准提部林


    SOORY~ 他說資料索引超出範圍 我想問說A2跟B2是指儲存格嗎?

TOP

回復 13# SinYun


看範例檔:
  1. Sub 找最大日期()
  2. Dim R&, i&, Arr, Brr, DD, MXD
  3. [B2] = "": If [A2] = "" Then Exit Sub
  4.  
  5. With Sheets("工作表2").UsedRange  '工作表已使用區域
  6.   Arr = .Columns("H")   'User資料陣列
  7.   Brr = .Columns("AD")  'Expire Date日期資料陣列
  8. End With
  9.  
  10. DD = Application.Match([A2], Arr, 0) '檢測查詢對象是否存在
  11. If IsError(DD) Then [B2] = "名稱不存在": Exit Sub

  12. For i = 2 To UBound(Arr)
  13.   If Arr(i, 1) = [A2] Then
  14.    DD = Brr(i, 1)
  15.    If IsDate(DD) Then If DD > MXD Then MXD = DD
  16.   End If
  17. Next i
  18.  
  19. If MXD > 0 Then [B2] = MXD Else [B2] = "無日期可比對"
  20. End Sub
複製代碼
 
Xl0000090.rar (13.75 KB)
 

TOP

        靜思自在 : 有心就有福,有願就有力,自造福田,自得福緣。
返回列表 上一主題