No.1由於一些中小企業生產特點,發貨記錄常常很多,那麼對於這樣的商品進行管理,就是一個複雜的問題。如果使用大型管理軟體,顯然有些浪費,如果用簡單的Excel來管理,又顯得麻煩。本
2021-06-07 11:28:19
No.1
由於一些中小企業生產特點,發貨記錄常常很多,那麼對於這樣的商品進行管理,就是一個複雜的問題。
如果使用大型管理軟體,顯然有些浪費,如果用簡單的Excel來管理,又顯得麻煩。
本節將對發貨記錄做一個表格來進行錄入、查詢和彙總進行一個簡單介紹。
如下圖所示,整個報表頁面就在一個表中進行。
表中可實現所有資料彙總,業務員單人資料彙總,以及各類關鍵欄位模糊查詢功能。
如果是一個小型加工企業,完全可以解決發貨報表的一些彙總功能,而且只需要對相關欄位進行選擇即可實現。
No.2
重點看一下程式碼
Private Sub Worksheet_Change(ByVal Target As range)On Error Resume NextIf VBA.Len(VBA.Trim(Target.Value)) = 0 Then Exit SubApplication.ScreenUpdating = False'-------------------------------------- 個人資訊查詢 -------------------------------If Target.Address = "$H$1" ThenDim listArr, Lx As Variant, li As IntegerlistArr = Array("L", "M", "S")li = 0Dim cell As rangeSet cell = ActiveSheet.range("H3:S3")For Each Lx In listArrDim iArr, ix As Long, xCount As LongDim kArr(0 To 11)For i = 0 To UBound(kArr)kArr(i) = 0Next iiArr = getYWY(Target.Value, "F")If VBA.Len(iArr(0)) = 0 Then'MsgBox "記錄為空!" '沒有記錄GoTo End001End IfgetKarr iArr, kArr, CStr(Lx)End001:If li > 0 ThenSet cell = cell.Item(1).Offset(1, 0).Resize(1, cell.Columns.Count)End Ifli = li + 1cell = kArrNext LxSet cell = NothingEnd If'-------------------------------------- 模糊查詢 客戶名稱 -----------------------------SelectValue Target, "$E$12", "E"'-------------------------------------- 模糊查詢 業務員 -------------------------------SelectValue Target, "$F$12", "F"'-------------------------------------- 模糊查詢 合同號 -------------------------------SelectValue Target, "$G$12", "G"'-------------------------------------- 模糊查詢 產品名稱 -----------------------------SelectValue Target, "$H$12", "H"'-------------------------------------- 模糊查詢 開票 -------------------------------SelectValue Target, "$O$12", "O"'-------------------------------------- 模糊查詢 開票 -------------------------------SelectValue Target, "$T$12", "T"Application.ScreenUpdating = TrueEnd Sub
上述程式碼存放於Worksheet_Change事件當中,對事件當中的特定單元格進行判斷,本例中如果是「H1」單元格資料改變則執行查詢程式碼。
查詢結果為某個業務員的所有相關資料,結果新增到月份對應表格內。
可以看到程式碼中還使用了一個公共函數SelectValue 函數,函數如下:
Sub SelectValue(tRange As range, selecAddress As String, colStr As String) ''查詢If tRange.Address = selecAddress ThenDim Hcell As rangeSet Hcell = ActiveSheet.range(Cells(14, 1), _Cells(ActiveSheet.UsedRange.Rows.Count, _ActiveSheet.UsedRange.Columns.Count))Hcell.Rows.Hidden = FalseDim xArrxArr = getSelectStrRows(colStr, VBA.Trim(tRange.Value))Hcell.Rows.Hidden = TrueIf VBA.Len(xArr(0)) = 0 Then Exit SubFor Each xrw In xArrActiveSheet.Rows(xrw).Hidden = FalseNext xrwSet Hcell = NothingErase xArrEnd IfEnd Sub
根據不同的參數,執行不同的模糊查詢欄位,查詢結果將列出所有符合條件的資料條目。
如此便實現了模糊查詢的功能。
相對於Excel表格進行資料處理,使用VBA還是有很大的優勢,效率高,使用簡單方便。
如果說缺點,就是維護難。
如果對VBA一點也不瞭解,那麼在後期修改表格的時候,有些VBA程式碼需要進行相應簡單修改,這就是說,一旦編碼完成,最好別再對錶格進行插入或刪除操作,會對整個程式碼造成一些不必要的破壞。
歡迎關注、收藏
---END---
相關文章
No.1由於一些中小企業生產特點,發貨記錄常常很多,那麼對於這樣的商品進行管理,就是一個複雜的問題。如果使用大型管理軟體,顯然有些浪費,如果用簡單的Excel來管理,又顯得麻煩。本
2021-06-07 11:28:19
【CNMO新聞】日前,萬物新生(愛回收)集團向美國SEC遞交招股書,準備在紐交所上市。此次赴美上市的募集資金,將主要用於進一步提升技術能力,提供更多元化的平臺服務,拓展愛回收門店網
2021-06-07 11:28:07
今天我們來聊一款價效比很高千元5G手機,雖然是千元價格,但是卻擁有旗艦的配置,因此筆者特別希望大家能夠發現這樣的好貨,用上更好的產品,今天要聊的這款手機是OPPO子品牌realme的
2021-06-07 11:27:13
在最近,微軟已經宣佈會在6月24日展示 "Windows的下一步",舉行新的Windows活動,微軟執行官Yusuf Mehdi還公開表示,他還沒有"自Windows 95以來對新版本的Windows如此興奮!" 也是明
2021-06-07 11:26:55
給曾經心愛的微單找一個合適的鏡頭有多難?對於十分糾結的我來說,確實是很難了。前段時間在整理裝置的時候,突然發現了在櫃子裡放置很久了的索尼A7R2和手柄。我個人對於帶手
2021-06-07 11:26:42
在去年iPhone12系列釋出後,蘋果第一時間在官網下架了2019年釋出的旗艦機型iPhone11Pro/Pro Max,卻保留了2018年9月釋出的iPhone XR。蘋果同時將iPhoneXR的起售價調整為3999元,
2021-06-07 11:26:30