Добрый день! С Вашей помощью учусь программированию в среде VBA. По работе часто возникают задачи, когда нужно выполнить много однотипных действий, а знания в области VBA пока на начальном уровне. В данный момент думаю над следующей задачей. Как заполнить наименования должностей работников, отмеченных желтым цветом, напротив каждой ФИО? Убедился, что формула
Код
=если(C6<>"";A6;"")
, протянутая вниз, меня не спасет))) Как это сделать по-человечески в Вашем профессиональном понимании? Заранее спасибо!
Добрый день! С Вашей помощью учусь программированию в среде VBA. По работе часто возникают задачи, когда нужно выполнить много однотипных действий, а знания в области VBA пока на начальном уровне. В данный момент думаю над следующей задачей. Как заполнить наименования должностей работников, отмеченных желтым цветом, напротив каждой ФИО? Убедился, что формула
Код
=если(C6<>"";A6;"")
, протянутая вниз, меня не спасет))) Как это сделать по-человечески в Вашем профессиональном понимании? Заранее спасибо!Мурад
файл не оч.хорош имеется в виду - выделение по столбцу A - что является названием подразделения. а что - названием должности, для VBA не вполне очевидно. на что опираться? на бледно-жёлтый цвет фона? на наличие числа в столбце C? на список должностей?
файл не оч.хорош имеется в виду - выделение по столбцу A - что является названием подразделения. а что - названием должности, для VBA не вполне очевидно. на что опираться? на бледно-жёлтый цвет фона? на наличие числа в столбце C? на список должностей?ikki
помощь по Excel и VBA ikki@fxmail.ru, icq 592842413, skype alex.ikki
Есть ещё такой вариант. потом по С отфильтровать не пустые и удалить формулу из В Это самый простой вариант. А в целом согласен с ikki, вынесите фио в отдельный столбец, Вам будет несоизмеримо проще совершать какие либо действия с таблицей.
Код
= ЕСЛИ(C6<>"";A6;B5)
Есть ещё такой вариант. потом по С отфильтровать не пустые и удалить формулу из В Это самый простой вариант. А в целом согласен с ikki, вынесите фио в отдельный столбец, Вам будет несоизмеримо проще совершать какие либо действия с таблицей.Cheshir0067
irelandzp@gmail.com
Сообщение отредактировал Cheshir0067 - Среда, 26.11.2014, 15:27
ikki, спасибо за коммент! смотрите, макрос должен брать наименование должности (столбец A) напротив количества ставок по ШР (столбец С) и копировать его в столбец B до тех пор, пока не встретит новое значение в столбце С. Резюмируем: заполняем все ячейки от B(m+1) до B(n-1) между C(m) и С(n) значениями из ячейки A(m)
ikki, спасибо за коммент! смотрите, макрос должен брать наименование должности (столбец A) напротив количества ставок по ШР (столбец С) и копировать его в столбец B до тех пор, пока не встретит новое значение в столбце С. Резюмируем: заполняем все ячейки от B(m+1) до B(n-1) между C(m) и С(n) значениями из ячейки A(m)Мурад
Cheshir0067, Фио и Наименования отделов идут скопом в столбце A. Чтобы выделить ФИО в отдельный столбец, нужно долго выбирать каждую ячейку вручную, вырывая ФИО из столбца A
Cheshir0067, Фио и Наименования отделов идут скопом в столбце A. Чтобы выделить ФИО в отдельный столбец, нужно долго выбирать каждую ячейку вручную, вырывая ФИО из столбца AМурад
Sub t() For i = 6 To 309 If Range("a" & i).Interior.Color <> 16751001 Then If IsEmpty(Range("c" & i)) Then Range("b" & i) = s Else s = Range("a" & i) End If Next End Sub
[/vba]
с проверкой на цвет фона[vba]
Код
Sub t() For i = 6 To 309 If Range("a" & i).Interior.Color <> 16751001 Then If IsEmpty(Range("c" & i)) Then Range("b" & i) = s Else s = Range("a" & i) End If Next End Sub