сплит строка vba - PullRequest
       0

сплит строка vba

0 голосов
/ 05 марта 2020

Я хочу разделить строку, которую мне дают коды. Вывод кода, например, «DPJobState-02-Mar-2020», затем «DPJobState-03-Mar-2020» и т. Д., Я хочу иметь в качестве вывода только «02-Mar-2020» для этого листа

Dim contador As Integer
contador = 2
Dim result As Workbook
Set result = Workbooks.Open("C:\Users\apractica\Desktop\Macro\Durst\ResultadosDurst.xlsm")
Dim m_2 As Variant

For Each ws In wb.Worksheets
    result.Worksheets(1).Cells(contador, 1).Value = ws.name
    contador = contador + 1
Next

1 Ответ

4 голосов
/ 05 марта 2020

Использование Split. Если вы хотите вернуть две подстроки, задайте аргумент limit 2, а затем используйте (1), чтобы вернуть вторую подстроку.

Так с вашим примером:

 Split("DPJobState-02-Mar-2020","-",2)(1)

В результате получаются две подстроки

  • "DPJobState"
  • "02-Mar-2020"

И (1) возвращает 2-ю, поскольку это массив, начинающийся с нуля.

Хотя, может быть, проще, если имена ваших листов всегда заканчиваются датой, отформатированной как "dd-mmm-yyyy", тогда вы можете просто использовать Right$:

result.Worksheets(1).Cells(contador, 1).Value = Right$(ws.name, 11)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...