Итак, мой вопрос заключается в следующем: как мне создать макрос VBA, в котором он автоматически обрезает строку после 6-го _
? Под этим я подразумеваю следующее:
Как вы можете видеть, оно обрезает все до 6-го _
, и это то, чего я хочу достичь с помощью макроса VBA. Аргументация макроса связана с другими отклонениями, которые я добавлю позже для дальнейшей автоматизации. Я знаю, как написать это с формулой Excel, например, так:
=RIGHT(SUBSTITUTE(A16,"_",CHAR(10),6),LEN(A16)-FIND(CHAR(10),SUBSTITUTE(A16,"_",CHAR(10),6),1)+1)
Но я не уверен, как написать это в формате VBA, чтобы он работал правильно. Я попытался имитировать пример с веб-сайта, который я нашел, и это работает только для первого подчеркивания, я пытался изменить его, чтобы он работал правильно, но продолжал сталкиваться с ошибками. Вот код, который я использовал:
Sub Test()
Dim K As Long
Dim LR As Long
LR = Cells(Rows.Count, 1).End(xlUp).Row
For K = 2 To LR
Cells(K, 2).Value = Right(Cells(K, 1).Value, Len(Cells(K, 1)) - InStr(1, Cells(K, 1).Value, "_"))
Next K
End Sub
Любая помощь будет отличной, и если понадобятся какие-либо разъяснения, я, безусловно, могу предоставить.