У меня есть случай выбора, который предназначен для поиска и поиска установленных точных случаев. Что меня озадачивает, это его выполнение в случаях, которые имеют 2 цифры, но не на ячейках с одной цифрой. Толком говоря, случай «B» и «C» выполняется в другом заявлении вместо соответствующих случаев, любые указатели будут оценены ...VBA select case, игнорирующий ячейки с одной цифрой (LEN)
Public Function cartMaxCalc(i As Long)
Dim contQty
Set contQty = Cells(i, 6)
Dim contTypeRange
Set contTypeRange = Cells(i, 5)
Dim cartMx As Long
'determine category by first digit of cell
Select Case UCase(Left(Cells(i, 11).Value, 2))
Case "E"
Select Case contTypeRange
Case "B", "J3", "B0" ' "B" is not recognized
cartMx = 4 * contQty
Case "C", "C0", "J2", "B2" ' "C" is not recognized
cartMx = 8 * contQty
Case "C2", "J1", "j4"
cartMx = 16 * contQty
Case "D1"
cartMx = 24 * contQty
Case "XX", "ZZ"
cartMx = 0
Case Else '"B" and "C" execute here
cartMx = contQty
End Select
Case "G", "P"
Select Case contTypeRange
Case "B", "J3", "B0", "D1"
'do nothing
Case "C", "C0", "J2"
cartMx = 6 * contQty
Case "C2", "J1"
cartMx = 12 * contQty
Case "XX", "ZZ"
cartMx = 0
Case Else
cartMx = contQty
End Select
Case "A", "A3", "B", "B", "C", "C3", "D", "D3", "D4"
Select Case contTypeRange
Case "C", "C0", "J2", "B2"
cartMx = 2 * contQty
Case "C2", "J1"
cartMx = 4 * contQty
Case "D1"
cartMx = 6 * contQty
Case Else
cartMx = contQty
End Select
Case "T", "F", "R", "L"
Select Case contTypeRange
Case "B", "J3", "B0"
cartMx = 2 * contQty
Case "C", "C0", "J2", "B2"
cartMx = 4 * contQty
Case "C2", "J1"
cartMx = 8 * contQty
Case "D1"
cartMx = 12 * contQty
Case "XX", "ZZ"
cartMx = 0
Case Else
cartMx = contQty
End Select
Case Else
cartMx = 1 * contQty
End Select
cartMaxCalc = cartMx
End Function
Пожалуйста, заполните полную функцию. – RLH
У вас определенно есть непечатаемые символы в столбце E. Итак, у вас есть как «B» что-то после него, пробелы или другие непечатаемые символы. В пустом столбце положите '= TRIM (CLEAN (E1)) и скопируйте. Затем скопируйте и вставьте значения только этого столбца над столбцом E. –