2016-06-28 143 views
-1

我有這樣的代碼在VBA:VBA Len函數

For x = 4 To 3918 
    If InStr(Cells(x, 2), "LW") Then 
     numToFind = Cells(x, 1) 
     For y = 4 To 3918 
      If Cells(y, 1) = numToFind Then 
       Cells(y, 1).EntireRow.Interior.ColorIndex = 4 
      End If 
     Next y 
    End If 
Next x 

不過,我試圖改變的條件從「如果小區x,2包含字符串‘LW’」到「如果小區x 2含5個字符......「在第2行中。我正常使用len()函數時遇到了問題。有人可以幫忙嗎?

謝謝!

+0

你怎麼現在不正確使用呢?看到你的嘗試可以幫助他人診斷你的問題。 – steegness

+1

if len(cells(x,2).value)= 5 then –

+0

誠實的問題:爲什麼這不是一個條件格式? '= FIND(「lw」,B1)'爲原始邏輯,還是'= LEN(B1)> 4'或者你的長度邏輯? – Ditto

回答

0
If Len(Cells(x, 2).value) = 5 Then 
+1

謝謝!這工作。我只是犯了一個錯誤,不得不將兩個函數結合起來,所以我說如果Len(Cells(x,2).Value)= 5並且InStr(Cells(x,2),「LW」)然後,它工作得很棒:)謝謝您! – ROCKYIII

0

這裏:if len(trim(cell(x,2).value)) = 5 then....

1

if len(cells(x,2).value)=5那麼不妨讓一個答案:)

+0

我們知道我們是否需要5個字符嗎?或至少5個字符?我讀「包含5個字符」與「包含LW」相同。換言之,它可能有其他文本,只要它包含您要查找的內容(即5個字符)。所以字符串「asdfasdfasdf」包含5個字符。 (它恰好包含12,但它也包含5,6和3 ... :)) – Ditto