Цель: если столбец C не начинается с «XXX *», верните эту ячейку минус первые 5 символов.
Пример:
C2 = XXX Then B2 would be empty
C3 = YYY1220190318 Then B3 = 20190318
C4 = UGA1535D Then B4 = 1535D
'Вот мой фактический код
Dim arrData As Variant, LastRow As Long, i As Long, ws As Worksheet
Set ws = ThisWorkbook.Sheets("Long List 15032019") 'change
the name of the sheet to the one you are doing the code
With ws
LastRow = .Cells(.Rows.Count, 3).End(xlUp).Row
arrData = .Range("A2", .Cells(LastRow, "C")).Value
For i = 1 To UBound(arrData)
If arrData(i, 3) Like "Bus*" Then
arrData(i, 1) = "BU CRM"
Else
arrData(i, 1) = "CSI ACE"
End If
If arrData(i, 3) Like "CSI*" Or arrData(i, 3) = vbNullString Then
arrData(i, 2) = vbNullString
Else: arrData(i, 2) = Right(arrData(i, 3), 12)
End If
Next i
.Range("A2", .Cells(LastRow, "C")).Value = arrData
End With
Я думаю, что это одна строка кода, которую нужно настроить Else: arrData(i, 2) = Right(arrData(i, 3), 12)
Я пытался использовать -12 или ВЛЕВО. Но это не сработает.