您現在的位置是:首頁 > 動作武俠首頁動作武俠
如何製作發貨記錄報表模糊查詢,彙總管理,這樣做完美
- 2021-08-26
貨單表格怎麼弄
No。1
由於一些中小企業生產特點,發貨記錄常常很多,那麼對於這樣的商品進行管理,就是一個複雜的問題。
如果使用大型管理軟體,顯然有些浪費,如果用簡單的Excel來管理,又顯得麻煩。
本節將對發貨記錄做一個表格來進行錄入、查詢和彙總進行一個簡單介紹。
如下圖所示,整個報表頁面就在一個表中進行。
表中可實現所有資料彙總,業務員單人資料彙總,以及各類關鍵欄位模糊查詢功能。
如果是一個小型加工企業,完全可以解決發貨報表的一些彙總功能,而且只需要對相關欄位進行選擇即可實現。
No。2
重點看一下程式碼
Private Sub Worksheet_Change(ByVal Target As range)
On Error Resume Next
If VBA。Len(VBA。Trim(Target。Value)) = 0 Then Exit Sub
Application。ScreenUpdating = False
‘———————————————————— 個人資訊查詢 ————————————————-
If Target。Address = “$H$1” Then
Dim listArr, Lx As Variant, li As Integer
listArr = Array(“L”, “M”, “S”)
li = 0
Dim cell As range
Set cell = ActiveSheet。range(“H3:S3”)
For Each Lx In listArr
Dim iArr, ix As Long, xCount As Long
Dim kArr(0 To 11)
For i = 0 To UBound(kArr)
kArr(i) = 0
Next i
iArr = getYWY(Target。Value, “F”)
If VBA。Len(iArr(0)) = 0 Then
’MsgBox “記錄為空!” ‘沒有記錄
GoTo End001
End If
getKarr iArr, kArr, CStr(Lx)
End001:
If li > 0 Then
Set cell = cell。Item(1)。Offset(1, 0)。Resize(1, cell。Columns。Count)
End If
li = li + 1
cell = kArr
Next Lx
Set cell = Nothing
End 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 = True
End Sub
上述程式碼存放於Worksheet_Change事件當中,對事件當中的特定單元格進行判斷,本例中如果是“H1”單元格資料改變則執行查詢程式碼。
查詢結果為某個業務員的所有相關資料,結果新增到月份對應表格內。
可以看到程式碼中還使用了一個公共函式SelectValue 函式,函式如下:
Sub SelectValue(tRange As range, selecAddress As String, colStr As String) ’‘查詢
If tRange。Address = selecAddress Then
Dim Hcell As range
Set Hcell = ActiveSheet。range(Cells(14, 1), _
Cells(ActiveSheet。UsedRange。Rows。Count, _
ActiveSheet。UsedRange。Columns。Count))
Hcell。Rows。Hidden = False
Dim xArr
xArr = getSelectStrRows(colStr, VBA。Trim(tRange。Value))
Hcell。Rows。Hidden = True
If VBA。Len(xArr(0)) = 0 Then Exit Sub
For Each xrw In xArr
ActiveSheet。Rows(xrw)。Hidden = False
Next xrw
Set Hcell = Nothing
Erase xArr
End If
End Sub
根據不同的引數,執行不同的模糊查詢欄位,查詢結果將列出所有符合條件的資料條目。
如此便實現了模糊查詢的功能。
相對於Excel表格進行資料處理,使用VBA還是有很大的優勢,效率高,使用簡單方便。
如果說缺點,就是維護難。
如果對VBA一點也不瞭解,那麼在後期修改表格的時候,有些VBA程式碼需要進行相應簡單修改,這就是說,一旦編碼完成,最好別再對錶格進行插入或刪除操作,會對整個程式碼造成一些不必要的破壞。
歡迎關注、收藏
---END---