在VBA中附加文本时添加分号

时间:2017-02-14 07:20:10

标签: excel vba

我有一个代码,可以将来自不同列的两个不同文本附加到单个单元格中。我想要做的是:添加一个分隔两个不同文本的分号。

这是执行附加的行:

If Not Sheets("DRG").Range("E" & MatchRow + 1).Value = vbNullString Then .Range("P" & cl.Row).Value = .Range("P" & cl.Row).Value & IIf(Not .Range("P" & cl.Row).Value = vbNullString, ";", "") & Sheets("DRG").Range("Q" & MatchRow + 1).Value & Sheets("DRG").Range("S" & MatchRow + 1).Value

Col Q和COl S是两列,我需要在它们之间添加分号。

3 个答案:

答案 0 :(得分:2)

If Not Sheets("DRG").Range("E" & MatchRow + 1).Value = vbNullString Then .Range("P" & cl.Row).Value = .Range("P" & cl.Row).Value & IIf(Not .Range("P" & cl.Row).Value = vbNullString, ";", "") & Sheets("DRG").Range("Q" & MatchRow + 1).Value & ";" & Sheets("DRG").Range("S" & MatchRow + 1).Value

答案 1 :(得分:1)

怎么样:

If Not Sheets("DRG").Range("E" & MatchRow + 1).Value = vbNullString Then _
    .Range("P" & cl.Row).Value = .Range("P" & cl.Row).Value & _
    IIf(Not .Range("P" & cl.Row).Value = vbNullString, ";", "") & _
    Sheets("DRG").Range("Q" & MatchRow + 1).Value & ";" & Sheets("DRG").Range("S" & MatchRow + 1).Value

答案 2 :(得分:1)

If Not Sheets("DRG").Range("E" & MatchRow + 1).Value = vbNullString Then    .Range("P" & cl.Row).Value = .Range("P" & cl.Row).Value & IIf(Not .Range("P" & cl.Row).Value = vbNullString, ";", "") & ";" & Sheets("DRG").Range("Q" & MatchRow + 1).Value & ";" &Sheets("DRG").Range("S" & MatchRow + 1).Value

尝试此修改。