拆分字符串,但在所有splits-VBA中考虑1个分隔符

时间:2018-10-12 08:38:57

标签: excel vba excel-vba

我有一个output_file的{​​{1}}

我正在尝试拆分此文件值,并将拆分后的值粘贴到C:H列中的表中,以立即开始的行开始。

我正在使用下面的代码来实现这一目标。

0001_1234_abcd_defg_U_2018.08.24-14.50.23.TIF

但是有时候我的 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) 在一个领域中有2个下划线,例如output_file。在这种情况下,上面的代码将失败。如何处理这种情况。

先谢谢了。 :)

2 个答案:

答案 0 :(得分:3)

尝试

tbl.Range(LastRow, "C").resize(1, 6).Offset(1, 0) = _
  split(replace(output_file, "__", "_"), "_")

答案 1 :(得分:3)

我希望这对您有帮助

Sub test()

Dim a() As String

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

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

End Sub