【问题标题】:How to concatenate in vba如何在vba中连接
【发布时间】:2018-05-30 07:48:19
【问题描述】:

我有大约 100000 行来自不同国家的数据。 我必须将国民身份证格式化为不同的格式。 例如 123456789 应该是 12.345-6789 我的挑战是,如果我使用

cells(i,6).formula = "=left(SecId,3)"

后面应该跟&"。"等等

但这行不通。

有什么建议吗?

【问题讨论】:

  • 请显示您的代码不起作用以及错误消息或错误输出。
  • 您必须对格式化的 ID 进行硬编码吗?相反,您可以保持单元格原样并使用此字符串格式化它们(使用右键单击 Format Cells 菜单):##"."###-####
  • 或者您可以在 VBA 中使用 CHAR(38) 代替 & 字符。
  • 为什么要使用公式?为什么不将其格式化为 VBA 并将结果写入单元格;还是使用条件格式来做到这一点?

标签: excel vba concatenation


【解决方案1】:

您在代码中提供的& 用作VBA 中的连接运算符,连接字符串"=left(SecId,3)".

您希望& 作为公式的一部分,因此只需将其放入字符串中。现在,VBA 不会将& 视为运算符,而只是将其视为字符串的一部分。然后它将成为单元格中公式的一部分,Excel 将对其进行解释。

cells(i,6).formula = "=left(SecId,3)&."

当然,如果需要,您可以在 VBA 中使用&

cells(i,6).formula = "=left(SecId,3)" & "&."

现在第一个&VBA 看到,而第二个是字符串的一部分并传递给Excel

【讨论】:

    猜你喜欢
    • 2020-08-31
    • 2010-12-16
    • 2020-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多