У меня есть лист, на котором наша оптовая команда должна ввести L09 Коды деталей и быстро увидеть, сколько у нас есть в наличии этого товара.Проблема в том, что новичкам может быть трудно выучить эти номера деталей, поскольку они не следуют простому правилу.Что я сделал, так это создал более простой для запоминания код: «Тип кабеля», «Размер сердечника» и «Длина обрезки», у них также есть возможность добавить «Цвет» и «Марка», разделенные пробелами.Их введенная строка может выглядеть как 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
К сожалению, яне уверен, какая строка содержит ошибку, так как сообщение об ошибке не выдается.
Спасибо за ваше время.