Excel 在字符串中的数字中插入冒号

Excel 在字符串中的数字中插入冒号,excel,vba,Excel,Vba,我在Excel电子表格中有大约300个字符串 每个都有不同的长度,但都采用相同的形式: 0033",@"0103",@"0133",@"0203",@"0233", nil 我需要在每个数字的中心添加冒号,例如,上面的示例将变成: 00:33",@"01:03",@"01:33",@"02:03",@"02:33", nil 我已经研究了各种VBA函数,但我找不到任何可以将字符添加到字符串中的函数。也许有一种更简单的方法可以在Excel中执行此操作?在模块中添加此函数 Function In

我在Excel电子表格中有大约300个字符串

每个都有不同的长度,但都采用相同的形式:

0033",@"0103",@"0133",@"0203",@"0233", nil
我需要在每个数字的中心添加冒号,例如,上面的示例将变成:

00:33",@"01:03",@"01:33",@"02:03",@"02:33", nil

我已经研究了各种VBA函数,但我找不到任何可以将字符添加到字符串中的函数。也许有一种更简单的方法可以在Excel中执行此操作?

在模块中添加此函数

Function InsertColon(ByVal original As String) As String
    Dim re As Object
    Set re = CreateObject("vbscript.regexp")
    re.Pattern = "(\d\d)(\d\d)"
    re.Global = True
    InsertColon = re.Replace(original, "$1:$2")
End Function
现在,您可以轻松地将其用作公式。e、 g.如果单元格A1包含原始字符串,并且您希望在单元格A2中显示格式化值,则在单元格A2中输入以下公式:

=InsertColon(A1)

谢谢你的建议,不幸的是,当我尝试这个时,我得到了#价值!错误,我不确定我是否理解您的代码,足以进行调试。代码对你有用吗?@Matthew Ledger:是的,对我有用。你能把文件上传到你测试它的地方吗?