2013-11-05 102 views
2

如果當前行的列C的內容是空的,我在將合併當前行的內容和前一行的內容的VBA宏之後EXCEL-宏以條件方式合併基於單元值的行

 

Input 
Col A | Col B | Col C 
text1A | text1B | 1 
text2A | text2B | 
text3A | text3B | 
text4A | text4B | 2 
text5A | text5B | 

Output 
Col A    | Col B     | Col C 
text1A text2A text3A | text1B text2B test3B | 1 
text4A text5A  | text4B text5B   | 2 

也有類似的問題,但我對VBA的知識太基本,不適用於這個特定案例的迴應。謝謝!

+0

代碼塊真正提高readablility。或者在代碼之前有四個空格,或者用「字符」包裝它。 – Justin

+0

這在vba中是可行的,但是您描述的輸出與上面顯示的不同。請澄清。另外,顯示你迄今爲止所做的代碼,我們將從那裏開始。 – L42

+0

@sbanders我編輯了輸出以反映我想要的內容。我試着編輯提供的代碼,但沒有得到任何地方,因爲我知道旁邊沒有VBA。 – user2954935

回答

0

我認爲this question將幫助你找到你需要的解決方案。你的問題幾乎是一個重複的問題。

Sub mergeCategoryValues() 
Dim lngRow As Long 

With ActiveSheet 
    lngRow = .Cells(65536, 1).End(xlUp).Row 
    .Cells(1).CurrentRegion.Sort key1:=.Cells(1), Header:=xlYes 

    Do 
     If .Cells(lngRow, 1) = .Cells(lngRow - 1, 1) Then 
      .Cells(lngRow - 1, 3) = .Cells(lngRow - 1, 3) & "; " & .Cells(lngRow, 3) 

      .Rows(lngRow).Delete 
     End If 

     lngRow = lngRow - 1 
    Loop Until lngRow = 1 
End With 
End Sub 

此代碼爲我工作.the答案貼在問題中here

相關問題