Board logo

標題: [發問] 利用application.inputbox搜尋日期 [打印本頁]

作者: 蒼雪    時間: 2017-8-18 21:07     標題: 利用application.inputbox搜尋日期

本帖最後由 蒼雪 於 2017-8-18 21:09 編輯

小弟我使用 Application.Inputbox 搜尋日期的時候…
在輸入1/1時,會搜尋到11/1…

而改輸入1/2,卻可以正確搜尋到1/2,這部份是哪邊出問題呢?
麻煩各位高手幫忙解答,謝謝。
--------------------------------------------------------------------
第二個疑問︰
Application.Inputbox所顯示的日期(例︰ 1/1/2017)
可以讓他變成 2017/1/1 嗎?
  1. Sub FindDate()
  2. Dim FD As Date
  3. FD = Application.InputBox("請輸入日期", "日期搜尋", Default:=Date)
  4. If FD = False Then
  5. Exit Sub
  6. Else
  7. Range("a1:na1").Find(what:=FD).Select
  8. End If
  9. End Sub
複製代碼

作者: carloslin0316    時間: 2017-12-27 14:31

回復 1# 蒼雪


    Sub FindDate()
    Dim FD As Date
   
    FD = Application.InputBox("請輸入日期", "日期搜尋")
    If FD = False Then
       Exit Sub
    Else
        For Row = 1 To 10
            For col = 1 To 10
                If (InStr(1, Cells(Row, col), FD)) Then
                    Range(Cells(Row, col), Cells(Row, col)).Select
                    GoTo found
                End If
            Next col
        Next Row
        MsgBox ("Not Found")
    End If
found:

End Sub
[attach]28167[/attach]
作者: 蒼雪    時間: 2017-12-27 19:18

回復 2# carloslin0316
  1.         For Row = 1 To 10
  2.             For col = 1 To 10
  3.                 If (InStr(1, Cells(Row, col), FD)) Then
  4.                     Range(Cells(Row, col), Cells(Row, col)).Select
複製代碼
第一次知道 range 也可以這樣使用...,真是上了一課

我想再問個問題
Application.InputBox("請輸入日期", "日期搜尋", Default:=Date)

box 出來會帶有 日期 = 11/1/2017
有辦法可以讓他顯示成 2017/11/1 嗎?
作者: 蒼雪    時間: 2017-12-27 19:24

抱歉,發文超過三分鐘,不能進行編輯
所以,又變成自問自答...

後面自己發現加上Format方式,就可以達到我要的效果了
Application.InputBox("請輸入日期", "日期搜尋", Default:=Format(Date,"yyyy/mm/dd"))




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)