2016-06-28 4 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 

Однако, я пытаюсь изменить состояние из «если клетки х, 2 содержит строку„LW“» в «, если ячейка х, 2 содержит 5 символов ... "в строке 2. У меня возникают проблемы с использованием функции len(). Кто-то может помочь?

Спасибо!

+0

Как вы неправильно использовать его сейчас? Увидев вашу попытку, вы можете помочь другим определить вашу проблему. – steegness

+1

если len (ячейки (x, 2) .value) = 5, то –

+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

1

if len(cells(x,2).value)=5 то может также сделать это ответ :)

+0

мы знаем, хотим ли мы ровно 5 символов? или не менее 5 символов? Я читаю «содержит 5 символов» так же, как «содержит LW». Другими словами, он может иметь другой текст, если он содержит то, что вы ищете .. (например, 5 символов). поэтому строка «asdfasdfasdf» содержит 5 символов. (он содержит 12, но также содержит 5, 6 и 3 ... :)) – Ditto

Смежные вопросы