我有一张工作表,我们的批发团队将在其中输入L09 Part Codes,并迅速查看我们有多少库存。问题在于,新入门者可能会因为不遵循简单的规则而难以学习这些部件号。我所做的是创建了一个更容易记住的代码,即:“电缆类型”&“核心尺寸”&“剪切长度”,它们还可以选择添加“颜色”和“品牌”,并用空格分隔。 他们输入的字符串可能看起来像6242y 2.5 100,或者可能是6242y 2.5 100 Grey,依此类推。因此,在我的映射表中查找所写内容的位置取决于所输入的术语数量。如附件所示图片我需要选择正确的列以查找其代码,然后向后偏移几列以建议正确的L09零件号。
我希望上下文有意义,并有助于以下代码。这个想法是让一个新的入门者输入简单的东西,然后在他们的眼前被替换... 如果有人可以帮助我纠正以下问题,将不胜感激:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim P, Products, S, Search As Range
Dim Column As String
Dim Counter As Integer
Dim Spaces As Long
'On Error Resume Next
Counter = 0
'For top table only
If Target.Column = 1 And Target.Row < 100 Then
'Count spaces
Spaces = UBound(Split(Target, " "), 1)
Select Case Spaces
Case Is = 2
Column = "M"
Case Is = 3
Column = "O"
Case Is = 4
Column = "Q"
End Select
'When string has spaces
If Spaces <> 0 Then
'Set simple code range
Set Search = Sheets("Cherries").Range(Column & 1 & ":" & Column & 10000)
For Each S In Search
If S = Target Then
Target = S.Offset(0, 3 - 2 * Spaces)
End If
Next S
End If
Set Products = Sheets("Order Entry").Range("A3:A99")
For Each P In Products
If P.Value <> "" Then
Counter = Counter + 1
End If
Next P
Sheets("Order Entry").Rows("3:" & Counter + 11).Hidden = False
Sheets("Order Entry").Rows(Counter + 11 & ":99").Hidden = True
End If
End Sub
不幸的是,由于没有错误消息,我不确定哪一行是错误的。
谢谢您的时间。