Страницы: 1
RSS
заливка ячеек одного листа по данным другого с помощью макроса
 
Уважаемые форумчане помогите реализовать при помощи макроса создание графика. Пример прилагаю. Суть в следующем: на листе график расставляю смены номерами, макросом закрасить соответствующие клетки на листе смены
Изменено: Павел Иванов - 24.01.2013 10:42:59
 
Здравствуйте!
А откуда брать соответствие? Как понимать: какая клетка подлежит закраске?
 
Соответствовать должны фамилия, дата и номер поста на листе график, а закрашивается ячейка на листе смены. Для большей ясности подредактировал файл
P.S. 1,2,5 в графике соответствуют 10-1, 10-2, 10-5
Изменено: Павел Иванов - 24.01.2013 09:29:49
 
А что в новом прикрепленном файле поменялось?
Современные языки программирования обязаны иметь встроенный метод ChuckNorris(),
который возвращает нужные тебе данные из любого объекта, даже если их там нет...
 
Извените, затупил. Уже изменил
 
Павел Иванов - больше сотни сообщений, а название темы так и не научились придумывать? Надо, наверное, пару раз темки Ваши удалить наглухо - может научитесь.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Зачем же так строго, ведь сами понимаете, что хочется получить совет, а не оплеуху. А вот насчет названия темы - просто не хватает фантазии.
Спасибо за понимание и прошу извенить если кого-то обидел своим профанством
 
Цитата
Павел Иванов пишет:
Зачем же так строго, ведь сами понимаете, что хочется получить совет
Я понимаю так: если хватило фантазии написать в теме: "реализовать при помощи макроса создание графика", то должно было её хватить и на то, чтобы в названии указать, что Вы там макросом хотели реализовать. Посмотрите на свою тему со стороны - если каждый так безответственно подойдет к вопросу создания тем, то на форуме все темы будут иметь названия:
-создать макросом;
-помогите с макросом;
-как с помощью формулы;
-как это сделать макросом;
-и т.д.

Вам удобно будет ориентироваться в темах, названных подобным образом?

По сути все создают тему для того, чтобы помощь получить, а не наставление. Но надо уважать правила тех, у кого помощи просите и смотреть на ситуацию не только с позиции вопрошающего, но и отвечающего.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Еще раз прошу меня извенить и если Вас не затруднит переименуйте тему в "заливка ячеек одного листа по данным другого с помощью макроса". Заранее благодарен.
 
У меня получилось следующее:
(Предполагается что колонки двигаться и добавляться не будут)

Код
Sub Smena()
Set shGraph = Sheets("График")
Set shSmena = Sheets("Смены")
iETg = shGraph.Columns("C").Rows(65536).End(xlUp).Row
iETs = shSmena.Columns("B").Rows(65536).End(xlUp).Row
iHTg = shGraph.UsedRange.Columns.Count

For rg = 3 To iETg
gFIO = shGraph.Range("C" & rg)
    For j = 3 To iETs
    sFIO = shSmena.Range("B" & j)
    If gFIO = sFIO Then rs = j: Exit For
    Next j
    
If rs = o Then GoTo nodata
For cg = 4 To iHTg
If shGraph.Cells(rg, cg) > 0 Then shSmena.Cells(rs, cg - 1).Interior.ColorIndex = 16
Next cg
nodata:
rs = 0
Next rg

End Sub
Работать надо не 12 часов, а головой.
 
Не совсем то, что нужно:
если в графике 1, то в смены закрасить ячейку в 10-1
если в графике 2, то в смены закрасить ячейку в 10-2
если в графике 5, то в смены закрасить ячейку в 10-5
другие значения ячеек игнорировать
 
что такое 10-5, 10-1?
покажи чем результат макроса отличается от того что должно быть - раскрась разными цветами то что должно быть и то что неверно на моем последнем примере xls? (там уже все выделено)

Перед применением макроса надо очистить на листе "смена" все, уже предварительно выделеные, значения.
Работать надо не 12 часов, а головой.
 
10-1, 10-5 это рабочие места на которых могут работать сотрудники, других нельзя ставить на эти рабочие места
 
10-1 10-5, это только вам понятные обозначения, и этих цифр в вашем файле нет в прямом указании, поэтому оперировать ими не надо, но не суть.

Я попросила вас смодифицировать получившийся в моем прикреплении файл с пометками, лучше разными цветами - что именно не так и как должно быть, можно с примечаниями.
Работать надо не 12 часов, а головой.
 
Кажется поняла, там где Радьков А.Л. - 5 надо выставлять в третьем блоке..
Работать надо не 12 часов, а головой.
 
да, верно может так будет понятно
 
Пришлось добавить дополнительный столбец на лист Смены, его можно скрыть.
Вроде теперь должно быть как хотите.
Работать надо не 12 часов, а головой.
 
Да, спасибо, то, что нужно
 
Уважаемые форумчане, помогите доработать макрос, чтобы закрашивал и 3 блок по условию в столбце B листа смены
Изменено: Павел Иванов - 16.02.2013 10:31:04
 
Подскажите, как изменится макрос, если на листе график не будет данных по блоку 3 листа смены, но этот блок должен закрашиваться также как и 2

P.S. Если не совсем понятно, то попытаюсь объяснить:
- при нормальном режиме дежурства заступают 3 человека (1,2,5)
- возможен вариант заступления 2-ух человек 1, 2 и 5 как автоматизировать закраску? при различных вариантах заступления? Т.е. если в один день в графике 1,2,5 в другой 1,2
Изменено: Павел Иванов - 17.02.2013 14:11:18
 
Наверное я не очень понятно излогаю то, что хочу получить. Может так будет понятно
Изменено: Павел Иванов - 19.02.2013 09:09:54
 
Если я правильно понимаю, то по отсутствию ответов решения у этой задачи нет
Страницы: 1
Наверх