2014-09-23 63 views
2

請有人幫忙連接使用Excel 2007宏的單元格。我有列A到E.我想連接列F中的所有列。請注意,我不知道所有列中的確切行數,但是當所述列中沒有值時,宏應停止並置連接列。樣品:使用宏多列連接

 
A  B   C   D  E   F 
O  ABC   DEF  GHI E  OABCDEFGHIE 

O  JKL   MNO  PQR E  OJKLMNOPQRE 

O  STU     VWXYZ E  OVWXYZE 


+0

可能重複[埃克塞爾 - 串聯許多列( http://stackoverflow.com/questions/25628511/exel-concatenate-many-columns) – L42 2014-09-23 05:39:05

回答

1

可能是你可以用下面的代碼試試:

Sub concat() 
Dim i As Integer 
For i = 1 To ActiveSheet.UsedRange.Rows.Count 
For j = 1 To 1 
If (Cells(i, j).Value <> "") And (Cells(i, j + 1).Value <> "") And (Cells(i, j + 2).Value <> "") Then 
Sheets("Sheet1").Range("D" & i).Value = Cells(i, j).Value + Cells(i, j + 1).Value + Cells(i, j + 2).Value 
Else 
Sheets("Sheet1").Range("D" & i).Value = "Empty cell found" 
End If 
Next j 
Next i 
End Sub 

它可能看起來很長,但我希望你會得到一些想法...的

+0

我會用一個相同的邏輯改變...我' – Asaf 2016-10-09 18:59:23

+0

我會用同樣的邏輯......但我更喜歡將範圍複製到數組中並獲得更好的性能 – Asaf 2016-10-09 19:02:07

0

可以簡單地使用Excel公式CONCATENATE,檢查以下線:

使用此公式F欄= CONCATENATE(A1,B1,C1,D1,E1)

0

設置一列以將公式放在最顯着的單元格旁邊。 。

= CONCATENATE($ A1:$ somecell1)

在這裏,您不需要擔心確切的細胞NUMS。