前景提要
之前我們分享了一個人能夠實現簡單錄入的choose函數,其他它本身是一個選擇函數,不過我們靈活掌握了它的功能和用處之後,將他轉換在實際的工作中,實現了一個簡單的數據快速錄入的功能,也算是一個活學活用的例子吧(請允許我自誇下),今天我們繼續分享一個可以提高數據錄入效率的函數,日期函數。
在我們平時的工作中,很多時候都需要登記當天的日期,還是我們上次講過的場景,商場錄入進出的銷售數據的時候,為了方便月底的數據統計,很多的時候基本上都是將一整個月的數據放在一個表格中的,那麼我怎麼知道我每天的銷售數據呢?小編不小心瞄到過一眼,有些商城會分成N個小sheet,也是一個不錯的方法,但是這樣數據統計的話,就非常的麻煩了 ,當然你是VBA高手,可以通過VBA代碼實現多個表格數據的合併的話,另當別論。今天就繼續分享一個在數據錄入過程中,能夠欄位登記日期的方法。
函數說明
今天我們的功能還是通過VBA自帶的函數來實現,日期函數:date(),很簡單的日期函數,返回的結果就是今天的日期,考慮到錄入數據的過程中,可能某些場景我們也可需要精確到具體的時間,時分秒,所以今天一起介紹下另外一個時間函數,time(),他返回的是現在的時間,時分秒。和excel本身的函數功能差不多,好了,有了我們需要的函數,我們就可以繼續完善上次的簡易錄入的功能了。
上代碼
我們還是在昨天的表格的基礎上,繼續添加兩列數據,讓我們的每日銷售表變得更加的完善
我們在最後面增加兩列,一列是錄入銷售日期,一列是錄入登記數據的具體時間,這樣一方面可以清楚的了解每日的銷售數據,同時也可以知道這份數據錄入的具體時間,方面我們事後統計分析客流高峰,銷售高峰等數據,這樣能夠更方便我們掌握實際市場數據。
Sub test()
Dim num&, ShopName$
line:
num = Application.InputBox("請輸入商品的序號", "輸入準確的序號", , , , , , 3)
If num 0 Then
ShopName = Choose(num, "蘋果手機", "vivo", "華為", "OPPO X27", "摩託羅拉", "紅米 小辣椒XR", "百度音響5-5")
LastCol = Cells(Rows.Count, 6).End(xlUp).Row
Cells(LastCol + 1, 6) = ShopName
Cells(LastCol + 1, 9) = Date
Cells(LastCol + 1, 9).Offset(0, 1) = Time
GoTo line
End If
End Sub
效果如圖:
假設我們現在需要輸入蘋果手機,我們輸入1,調試下代碼,我們發現蘋果手錶已經輸入到了第一個起始位置了
再來繼續執行下一步,就是來到了我們進入要學習的date函數了,直接得到今天的日期,很簡單
再來下一步,我們要獲得當前登記的時間
完美,這樣我們就成功的將我們登記這個數據的具體時間,日期都詳細準確的錄入到了表格中,我們並不需要做任何的操作。這樣完全釋放了我們的精力,讓我們能夠投入更多的時間和精力在產品的銷售上面,同時有了完整的數據,我們也能夠更好的分析當前產品的市場行情和門店的其他信息。
代碼解析
本次並沒有太多的代碼上的知識點需要講解,基本上都是套用上一次的代碼,增加了兩行,分別是自動錄入當前時間和當前日期的,就是非常簡單的兩句話
Cells(LastCol + 1, 9) = Date
Cells(LastCol + 1, 9).Offset(0, 1) = Time
相信經過之前的一系列的學習,這兩句話對於大家來說並不算是很難理解了,這裡我採用了兩種不同的方法來展示單元格的移動,一種是直接填入行號和列號來實現的,另外一種就是通過offset()這個位移函數來實現的,這個在之前也有簡單的描述,忘記了也不要緊,我們後面講到單元格的操作的時候,會詳細講述相關的一系列的函數的。今天我們還是重點學習,日期和時間函數的直接使用。