- 帖子
- 2848
- 主題
- 10
- 精華
- 0
- 積分
- 2903
- 點名
- 0
- 作業系統
- 〔略〕
- 軟體版本
- 〔略〕
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 〔略〕
- 註冊時間
- 2013-5-13
- 最後登錄
- 2026-7-25
|
加個防呆:
Sub Daily_Sales()
Dim Qs$, QQ, R&, DateFmt$, xArea As Range
ReTry:
Qs = InputBox("請輸入要查詢的日期" & Chr(10) & Chr(10) & "輸入規則:DD/MM/YY")
If Qs = "" Then Exit Sub
QQ = Split(Qs & "//", "/")
Qs = 20 & QQ(2) & "/" & QQ(1) & "/" & QQ(0)
If IsDate(Qs) = False Then MsgBox "日期輸入錯誤, 請重新輸入! ": GoTo ReTry
QQ = DateValue(Qs)
'---------------------------------------------
Application.ScreenUpdating = False
Sheets("DAILY SALES").UsedRange.Offset(1, 0).EntireRow.Delete
Set xArea = Range([GROUPING!K1], [GROUPING!A1].Cells(Rows.Count, 1).End(xlUp))
With xArea
.AutoFilter Field:=2, Criteria1:=QQ
.Offset(1, 0).Copy Sheets("DAILY SALES").[A2]
.Parent.ShowAllData
End With
With Sheets("DAILY SALES").UsedRange
R = .Cells(.Rows.Count + 1, 2).End(xlUp).Row
If R = 1 Then MsgBox "找不到符合日期的資料! ": Exit Sub
.Columns(2).NumberFormatLocal = "dd/mm/yy"
.EntireColumn.AutoFit
End With
End Sub
注意:============================
DD = DateSerial(2020, 13, 35) '月份超過12, 日期超過31
MsgBox DD '一樣會被視為日期
DD = DateSerial(2019, 2, 29) '2019.2月沒有29日
MsgBox DD '=2019/3/1
=============================== |
|