2017-03-24 62 views
0

我有以下節點:如何將分隔字符串拆分爲特定的單個單元格?

enter image description here

預期輸出:

enter image description here

我現在的步驟獲得此是:由

  1. 劃界「/ 「

  2. 排序

  3. 有條件地設置格式的一些細胞。我試圖通過做A2 = A1並將字體顏色設置爲白色來使單元格變爲空白。但是這不起作用。

enter image description here

我怎樣才能做到這一點使用VBA?我被告知這可能需要VBA。 訣竅是每行只保留一個父節點。

+0

你能後的預期輸出應該是什麼樣的例子? – Miguel

+0

@米格爾,嗨米格爾,預期的輸出是在第二張照片。新生病讓這個更清楚。 – Jonnyboi

+0

好吧現在有道理,所以你只是想刪除DUPS?按列?或者你真的想讓字體變成白色,以致看不見? – Miguel

回答

-1

快速而骯髒,但它完成了工作。這將循環遍歷A-F行1-12列,併爲每個單元格選擇值,查找出現次數並刪除第二次出現而不是第一次。這應該做的伎倆。

Sub findItemInColumns() 

    With ThisWorkbook.Worksheets("Sheet1") 
     For r = 1 To 12 
      For c = 1 To 6 
       RemoveDups .Cells(r, c).Value 
      Next 
     Next 
    End With 
End Sub 

Sub RemoveDups(ByVal somevalueToFindAndRemove As String) 

    Dim FindString As String 
    Dim Rng As Range 



    listOfValues = Array(somevalueToFindAndRemove) 

    If Trim(somevalueToFindAndRemove) <> "" Then 
     With Sheets("Sheet1").Range("A:AK") 

      For i = LBound(listOfValues) To UBound(listOfValues) 

       Set Rng = .Find(What:=listOfValues(i), _ 
           After:=.Cells(.Cells.Count), _ 
           LookIn:=xlValues, _ 
           LookAt:=xlWhole, _ 
           SearchOrder:=xlByRows, _ 
           SearchDirection:=xlNext, _ 
           MatchCase:=False) 
       If Not Rng Is Nothing Then 
        FirstAddress = Rng.Address 
        Do 
         Application.Goto Rng, True  
         If Rng.Address <> FirstAddress Then Rng.Value = "" 
         Set Rng = .FindNext(Rng) 
        Loop While Not Rng Is Nothing And Rng.Address <> FirstAddress 
       End If 
      Next i 
     End With 
    End If 

End Sub 
+0

有沒有聽說過這種稱爲* indentation *的美妙事物?另外,這段代碼顯然需要一個從1到6的內部循環。像這樣的惰性代碼很容易出錯,正如上一次循環中的複製麪食錯誤(「完成工作」 - 您測試它?)所證明的那樣。而'Call'也完全是多餘的。 –

+0

:-)謝謝馬特,我真的很喜歡你這樣的純粹主義者。正如我所說,這是快速和骯髒的,請閱讀上面的帖子。像你這樣真正的人,通過提供批評而不是價值使世界變得更美好。再次感謝您的精彩評論。 – Miguel

+5

對於基督的緣故......在這裏,你有足夠的「價值」嗎? FWIW我在VBA標籤中貢獻了388個答案(還有另外175個答案在CR.SE上),我相信我提供的「價值」不僅僅是批評。如果你打算給「在這裏試試這個」代碼轉儲的答案,至少應該讓它們成爲工作代碼。 –

1

嘗試用公式(在新的工作表或列)像

X2  =IF(A2=A1,"",A2) 
X3  =IF(A3=A2,"",A3) 
X4  =IF(A4=A3,"",A4) 

等。

對於A列

相關問題