2013-06-21 67 views
-3

我想這樣做的措施,自動篩選列,如果字符(LEN)= 9或12的量,我希望它去的第一列的字符數If語句並將該行上單元格的名稱更改爲「CLO」。我希望這可以運行整列(列M & N)。我應該怎麼做?如果環路全列使用萊恩

Dim count As Integer, myRange As Range, rng As Range 
Dim RealRng As Range 

Set myRange = Columns("M:M") 
count = Application.WorksheetFunction.CountA(myRange) 
Set RealRng = ActiveSheet.Range("M2:M+" & count) 
For Each rng In RealRng 
    If Len(rng) = 9 Or Len(rng) = 12 Then 
     rng.Offset(0, -12) = "Bond" 
    End If 
Next rng 
+2

什麼語言?是否有任何實際的代碼去解決這個問題? – mawburn

+0

VBA宏,我想如果你需要看看我在做什麼。我剛剛添加的代碼,會搜索ocntain「MBS」。但我描述的是類似的,但完全不同的 –

回答

0

下面是一個簡單的演示,將環通濾波範圍,測試長度,並改變下一列,如果長度爲9或12

你需要爲你的目的適應:

Sub Demo() 
    Dim filteredRng As Range, rng As Range 

    Set filteredRng = Range("A1:A10").SpecialCells(xlCellTypeVisible) 

    For Each rng In filteredRng 
     If Len(rng) = 9 Or Len(rng) = 12 Then 
      rng.Offset(0, 1) = "CLO" 
     End If 
    Next rng 

End Sub 
+0

嘿亞歷克斯,我真的很感激幫助的話自動篩選。這真的看起來正是我想要它做的。我只需要您發佈的代碼的一個方面的幫助。是否有無論如何你可以設置filteredRng的東西,可以找出有多少列在M列,並選擇M2:結束,然後繼續公式從那裏繼續?這是我一直在努力,編輯代碼...你可以看到它在我的更新OP –

+0

'設置RNG =範圍(「A1:A」及範圍(「A1」)結束(xlDown).Row)'然後設置filteredRng = rng.SpecialCells(xlCellTypeVisible)'。試試... –