Разбейте строку, но рассмотрите 1 разделитель во всех разделениях-VBA - PullRequest
0 голосов
/ 12 октября 2018

У меня есть output_file, который выглядит как 0001_1234_abcd_defg_U_2018.08.24-14.50.23.TIF

Я пытаюсь разделить это значение файла и вставить разделенные значения в таблицу в столбце C: H, начиная немедленную доступную строку.

Я использую приведенный ниже код для достижения этой цели.

 tbl.Range(LastRow, "C").Offset(1).Value = Split(output_file, "_")(0)
 tbl.Range(LastRow, "D").Offset(1).Value = Split(output_file, "_")(1)
 tbl.Range(LastRow, "E").Offset(1).Value = Split(output_file, "_")(2)
 tbl.Range(LastRow, "F").Offset(1).Value = Split(output_file, "_")(3)
 tbl.Range(LastRow, "G").Offset(1).Value = Split(output_file, "_")(4)
 tbl.Range(LastRow, "H").Offset(1).Value = Split(output_file, "_")(5)

Но иногда мой output_file имеет 2 подчеркивания в поле, например 0001_1234__abcd_defg_U_2018.08.24-14.50.23.TIF.Приведенный выше код не работает в таких случаях.Как мне справиться с этим сценарием.

Заранее спасибо.:)

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Надеюсь, это поможет

Sub test()

Dim a() As String

a = Split(replace("123_456_789","__","_"), "_")

Range("h1").Resize(1, UBound(a) + 1).Value = a

End Sub
0 голосов
/ 12 октября 2018

Попробуй,

tbl.Range(LastRow, "C").resize(1, 6).Offset(1, 0) = _
  split(replace(output_file, "__", "_"), "_")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...