代码之家  ›  专栏  ›  技术社区  ›  ilya n.

如何在VBA中连接字符串?

  •  48
  • ilya n.  · 技术社区  · 15 年前

    这个问题来自下面的评论 Range.Formula= in VBA throws a strange error .

    我通过反复尝试编写了这个程序,所以我自然地尝试了 + 连接字符串。

    而是 & 比…更正确 + 用于连接字符串?

    3 回复  |  直到 6 年前
        1
  •  100
  •   Joey Gumbo    15 年前

    & 总是 在字符串上下文中计算,而 + 如果其中一个操作数不是字符串,则不能连接:

    "1" + "2" => "12"
    "1" + 2   => 3
    1 + "2"   => 3
    "a" + 2   => type mismatch
    

    这只是潜在错误的一个微妙来源,因此应该避免。 & 总是 表示“字符串串联”,即使其参数不是字符串:

    "1" & "2" => "12"
    "1" &  2  => "12"
     1  & "2" => "12"
     1  &  2  => "12"
    "a" &  2  => "a2"
    
        2
  •  1
  •   iDevlop    6 年前

    对我来说,主要(非常有趣)的区别是:
    "string" & Null -gt; "string"
    虽然
    "string" + Null -gt; Null

    但在数据库应用程序(如access)中,这可能更有用。

        3
  •  0
  •   Community CDub    9 年前

    这里有concatenate函数。 For example

    =CONCATENATE(E2,"-",F2)
    但运算符总是连接字符串。+通常是有效的,但如果其中一个单元格中有一个数字,它将无法按预期工作。