Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Заменить значение ячеек ЕСЛИ совпадение
 
Код
Sub Кнопка5_Щелчок()
Dim R As Range
For Each R In Range("J2:J200")
  If R.Interior.Color = vbRed Then
    R.Interior.Pattern = xlNone
    R.Offset(, -5).Value = "Вылет диспетчер"
    R.Offset(4, -5).Value = "Прилет диспетчер"
    R.Offset(, -4).Value = Sheets("Регистрация").Range("K3")
    R.Offset(4, -4).Value = Sheets("Регистрация").Range("K4")
  End If
Next
MsgBox "Значения для диспетчеров записаны"
End Sub
Пока сделал так. Что если фамилию в колонке J выделить красным цветом, то выполнить...

Но выглядит костыльно))
Макрос VBA если ячейка из диапазона выделена цветом то...
 
Цитата
написал:
Вы их вручную красите или условным форматированием?
Вручную
Тут либо какой-то добавлять параметр, когда в файл занес фамилию к этой фамилии в ячейку галочку, то закрашивать эту фамилию, то ли я даже не знаю...

Если есть мысли, закинул файл во вложение, чтобы было понятно о чем речь идет...

Сперва фамилии вносятся на листе "Регистрация", потом падают на "Общие итоги" и там подставляется полное ФИО + Табельный номер -> далее улетают на лист import , где я и думаю красить вручную фамилию эту цветом.
Макрос VBA если ячейка из диапазона выделена цветом то...
 
Цитата
написал:
но лучше проверять не цвет ячейки, а то условие, по которому Вы ее красите
Добрый день! Благодарю за решение.
Я крашу ее по условию, что сотрудник вышел "доп смену" - работа в выходной.
Следовательно ему нужно оплатить по двойным коэффициентам.
Ничего не пришло в голову банальнее, выделить такие фамилии цветом, а потом по нажатию в конце смены на кнопку умножить его значения на 2.  
Макрос VBA если ячейка из диапазона выделена цветом то...
 
Добрый день!

Есть стандартный макрос:
Код
Sub Button_Click4()
Dim R As Range
For Each R In Range("J2:J200")
    If R.Interior.Color = vbYellow Then R.Interior.Pattern = xlNone
    Next
End Sub
Проверяет в нужном мне диапазоне есть ли ячейки выделенные цветом и снимает выделение.

В макросах не силен.
Пытаюсь реализовать, чтобы:
Если ячейка выделена желтым, то снять выделение в ячейке + значение в данной строчке в колонке "F" умножить на 2

Подскажите, пожалуйста, как реализовать второе условие на примере моего кода
Заменить значение ячеек ЕСЛИ совпадение
 
Добрый день!

Есть шаблон (см. вложение).
Вижу два пути решения для своего ТЗ:
1. Дописать формулы в колонках E и F
2. Использовать какой-нибудь макрос для проверки

Задача следующего характера...
Если в колонке J есть фамилии "Фамилия1" "Фамилия2" "Фамилия3" "Фамилия4"
То в колонке Е
Слово "регистрация" у данной фамилии, например совпала "Фамилия1" заменить на слово "Прилет диспетчер"; Слово "Встреча" заменить на "Вылет диспетчер"
В колонке F для данной фамилии и операции "Прилет диспетчер" значение взять с листа Регистрация ячейка К4
В колонке F для данной фамилии и операции "Вылет диспетчер" значение взять с листа Регистрация ячейка К3

Забегая наперед... В колонке J из 4 фамилий из условия, точно всегда на выходе будет 2 фамилии совпадать, которые положу в условие.

На скриншоте во вложение показал, как хочу чтобы это потом выглядело.

Посоветуйте, пожалуйста, каким лучше путем пойти ?
Пробовал оборачивать имеющие формулы еще в условие ЕСЛИ, но что то пока к нужному результату придти не получилось.  
Подбор функции для заполнения шаблона
 
Цитата
написал:
Еще одна возникшая проблема, это сотрудники с одинаковыми фамилиями, но таких благо не много.На листе "profiles" БД ФИО и табельный номер в 1С. Есть фамилия "Лихограй".В начале рабочего дня во вкладке "регистрация" вбиваем фамилию "Лихограй", она подставляется на лист "Общие итоги" и там автоматом подставляется "лихограй екатерина", но вот как быть, если нужна "лихограй нина". Реализованное мной не работает должным образом при таком совпадение. А может оказаться, что нужна и "нина" и "екатерина"...
Не актуально.
Подбор функции для заполнения шаблона
 
Код
Sub Кнопка1_Щелчок()
    Rows(Columns(1).Find("*", , xlValues, , xlByRows, xlPrevious).Row + 1 & ":" & _
    Columns(1).Find("*", , xlFormulas, , xlByRows, xlPrevious).Row).Delete
    
Dim FileN$
FileN = ThisWorkbook.Path & "\" & Date & ".xlsx"
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues
Cells(1, 1).Select
ThisWorkbook.Sheets(8).Copy
ActiveSheet.DrawingObjects.Delete
ActiveWorkbook.SaveCopyAs FileN
ActiveWorkbook.Close SaveChanges:=False
MsgBox "Лист import сохранен в новом книге" & FileN
    
End Sub


Кнопку реализовал таким путем.
Только теперь вопрос в следующем, что если формулы уже обрезаны на листе и нажимаешь кнопку - удаляется последняя строчка с значениями. Не могу сообразить, как поправить первые две строчки, чтобы не обрезались строчки с значениями.
Изменено: x3emz - 19.10.2023 13:27:13
Подбор функции для заполнения шаблона
 
Цитата
написал:
если рядом пусто то ставить пусто?
Добрый день!
Да, забыл вчера отписаться, таким условием и сделал.

Добавил кнопку с макросом :
Код
Rows(Columns(1).Find("*", , xlValues, , xlByRows, xlPrevious).Row + 1 & ":" & _
Columns(1).Find("*", , xlFormulas, , xlByRows, xlPrevious).Row).Delete

Теперь раздумываю, как правильно написать макрос с таким алгоритмом:
Нажимаем кнопку - выполняем код выше - сохраняем лист import в новую книгу с расширением .xlsx с названием текущего файла.

Еще одна возникшая проблема, это сотрудники с одинаковыми фамилиями, но таких благо не много.На листе "profiles" БД ФИО и табельный номер в 1С. Есть фамилия "Лихограй".
В начале рабочего дня во вкладке "регистрация" вбиваем фамилию "Лихограй", она подставляется на лист "Общие итоги" и там автоматом подставляется "лихограй екатерина", но вот как быть, если нужна "лихограй нина". Реализованное мной не работает должным образом при таком совпадение. А может оказаться, что нужна и "нина" и "екатерина"...
Подбор функции для заполнения шаблона
 
Тема актуальна, up
Подбор функции для заполнения шаблона
 
Цитата
написал:
Проверяйте
Добрый вечер!

Да, оно самое. Не много внес уже корректировки... Файл во вложение.
Избавился от #ССЫЛКА, ибо формулу протянул до 200 строки. В разные дни будет разное количество и постоянно протягивать формулу будет такое себе занятие...

На листе "Общие итоги" добавил колонки "Время 1" "Время 2".
На лист импорт подставляю через впр.


Сейчас пока стоит одна не решенная задача, как избавиться от этого - см скрин во вложение.

Если в колонке ФИО нет значений, то не подставлять операции.
Изменено: x3emz - 21.10.2023 14:10:54
Подбор функции для заполнения шаблона
 
Добрый день!

Нуждаюсь в подсказке, в каком направление и какой формулой пробовать реализовывать свою задачу.

Есть заполненная таблица. Листы с которыми придется работать "Общие итоги" и "import".

Сейчас в файле на листе import все заполнено руками вручную. Стоит необходимость это дело автоматизировать формулой либо макросом.

На лист import в колонку "J" должны записываться ФИО сотрудников по 5 раз - одна фамилия, данные должны браться с листа "Общие итоги". Количество фамилий всегда разное. После того, как фамилии записаны, необходимо:
в колонку "D" - подставить табельный номер
в колонку "E" - подставить необходимую операцию. На одного сотрудника приходится - пять операций.

Далее, необходимо в колонке "F" подставлять в ячейки значения. Значения берутся с листа "общие итоги" и по конкретному сотруднику.

На листе "import" не должно получиться, что в колонке допустим ФИО будут значения "Н/Д" или "0". Поскольку далее этот лист выгружается в 1С и такие значения обвалят обработку на стороне 1С.

Буду рад любым конструктивным подсказкам, заранее спасибо :)  
Изменено: x3emz - 21.10.2023 14:10:42
Страницы: 1
Наверх