2017-02-14 19 views
0

我有一段代碼,它將來自不同列的兩個不同文本附加到單個單元格中。我想要做的是:添加分號分隔兩個不同的文本。在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 

山口Q和COL S分別兩米欄,我需要在它們之間添加一個分號。

回答

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 
+0

完美的作品! –

+0

當然。等待10分鐘才能通過..因爲SO允許在10分鐘後才標記答案 –

+0

@stackmark不知道,從答案?或者打開帖子? –

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 
+0

認真嗎?再次以秒爲單位),我花了一段時間才明白他的很長的代碼行(我有一種感覺,我知道它來自哪裏) –

+0

@ShaiRado,似乎秒不重要......(和你的感覺是非常正確的) – user3598756

+0

恭喜20K! –

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 

試試這個編輯。