Material management:VBA :点击一个供应商,自动列出这个供应商涉及的物料

在物料管理中,我们需要使用一些reports来做出一些判断,如Consign,VMI,Safety Stock,Milk Run等:

1,对于未来6个月每个物料的Demand,Amount

2,对于未来6个月每个供应商的Demand,Amount

我们先看看,当我们点击一个供应商时,自动列出这个供应商涉及的物料如何实现?

实际应用,我还延伸了很多的物料管理工具,感觉还是挺有用的。

一,基础数据(Excel表格)

二,在Supplier List中点击一个供应商后:

2.1,然后将供应商的物料清单从“一,基础数据“中复制到一个Reports的Sheets中

2.2,按金额大小排序

2.3,每次点击新的供应商,将清空Reports中旧的数据

三、结果:在这个Reports中我们可以看到A5这个供应商,哪些Items还没有做Consign开发。

代码部分:注意画个按钮,并把这段代码指定个按钮。

Sub Supplier_Material_list()
Dim k, c, m As Integer
Dim str1, str2, str3 As String
Application.ScreenUpdating = False
'-------------------------delete old data------------------------------
str2 = Selection.Address

Sheets("Reports").Activate
i = Sheets("Reports").UsedRange.Rows.Count
If i > 2 Then
    Rows("2:" & i).Select
    Selection.Delete Shift:=xlUp
End If
Sheets("Supplier_List").Activate

'--------------------------------------------------------

Sheets("Supplier_List").Activate
str3 = Replace(str2, "$", "")
Range(str3).Select

If Mid(Selection.Address, 2, 1) <> "A" Then
'Debug.Print Mid(Selection.Address, 2)
MsgBox ("请选择A列中的供应商:")
Exit Sub
End If
str1 = Selection.Value

Debug.Print VarType(Sheets("Summary").Cells(3, 7).Value)

c = 2
For k = 2 To Sheets("Summary").UsedRange.Rows.Count
If CStr(Sheets("Summary").Cells(k, 7).Value) = CStr(str1) Then

   Sheets("Summary").Rows(k).Copy Sheets("Reports").Rows(c)
    c = c + 1
    Debug.Print c
End If
Next k
Sheets("Reports").Activate
Columns("T:W").Select
Selection.Delete Shift:=xlToLeft
Cells(2, 19).Select

'---------descend-----------
m = Sheets("Reports").UsedRange.Rows.Count

    Columns("A:S").Select
    ActiveWorkbook.Worksheets("Reports").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Reports").Sort.SortFields.Add2 Key:=Range("S2:S" & m _
        ), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Reports").Sort
        .SetRange Range("A1:S" & m)
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Range("S2").Select

End Sub

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值