2016-12-16 3 views
0

В VBA есть способ добавить в ячейку, если другая ячейка содержит любой текст?Excel VBA Условный текст

Ex:

FOREACH клеток в колонке F, который содержит текст

Запись "Назначено" в колонке G

IF Cell F является пустой, Пропустить CELL

Я знаю, что есть формула для этого ["= IFERROR (IF (SEARCH (« "*" ", RC [-1], 6)," "ASSIGNED" ")," "" ")"], но приложение, которое я импортирую этот файл в не принимает книги, содержащие формулы.

Заранее благодарим за любую помощь.

+0

В VBA всего цикла через диапазон, как (псевдо-код): 'Для каждого КВЖД Range ("F2: F1000") // если cel.value <> "", то cel.offset (0, 1) .Value = "ASSIGNED" // end if'? или, может быть, использовать 'IsEmpty()'? Быстрая мысль - если ваш импорт не принимает формулы, он принимает макросы ?? Вы всегда можете использовать свою формулу, а затем скопировать/вставить значения над ней, тем самым удалив формулы ... Я очень сомневаюсь, что он примет VBA, если формулы уже вышли из таблицы. – BruceWayne

+3

Зачем «приложение, которое вы пишете это», принимать VBA, когда оно не принимает формулы? – Chrismas007

+1

Почему бы не запустить формулу и скопировать и вставить значения как значения, range.value = range.value? –

ответ

0
Sub Test() 

    Dim rng As Range 

    Set rng = Workbooks("My Tracker").Sheets(4).Range("F1:F" & Cells(Rows.Count, "F").End(xlUp).Row) 

    For Each Cell In rng 
     If Len(Cell.Value) > 0 Then 
      Cell.Offset(0, 1).Value = "ASSIGNED" 
     End If 
    Next 

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