Доброго всем дня гуру Excel! Очень нужна ваша помощь в написании макроса. Есть два файла "Картотека ИУ-2.xlsm" и "Журнал КДС.xlsm". Что нужно: Файл "Картотека ИУ-2.xlsm". написать макрос для заполнения последней датой колонки "Последняя передача" из файла "Журнал КДС.xlsm" по Иннос если в колонке передача стоит "положена" или "посылка", и строка в файле "Картотека ИУ-2.xlsm"без заливки цветом. Я честно пытался весь день найти решение, но либо не верно составляю поисковый запрос, либо просто не везет.
Mershik написал: нет времени искать что то подобное в форуме.так обратитесь в раздел "работа"
В силу определенных причин, думаю все очевидно из названия приложенных файлов. А так, я конечно пробовал найти, но возможно не правильно ставлю поисковый запрос.
Добрый вечер! Нашел почти решение при помощи формулы =ЕСЛИОШИБКА(МАКС(ИНДЕКС(('[Журнал КДС.xlsm]Передачи'!$L$2:$L$100000=CB2)*('[Журнал КДС.xlsm]Передачи'!$F$2:$F$100000="положена")*'[Журнал КДС.xlsm]Передачи'!$A$2:$A$100000;0));"") Но ничего не получается если вставить в формулу еще и "посылка" и если нет "положена" не оставляет ячейку пустой, да и довольно таки сильно подтормаживает. Может кто подскажет другое решение?
Sub LastDate_()
Dim i As Long
Dim iLastRow As Long
Dim FoundInnos As Range
Dim FAdr As String
iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
With Workbooks("Журнал КДС.xls").Worksheets("Лист1")
For i = 2 To iLastRow
If Cells(i, "D").Interior.ColorIndex = -4142 Then 'нет заливки
Set FoundInnos = .Columns("H").Find(Cells(i, "D"), , xlValues, xlWhole, xlByRows, xlPrevious)
If Not FoundInnos Is Nothing Then
FAdr = FoundInnos.Address
Do
If FoundInnos.Offset(, -2) = "положена" Or FoundInnos.Offset(, -2) = "посылка" Then
Cells(i, "E") = FoundInnos.Offset(, -7)
Exit Sub
End If
Set FoundInnos = .Columns("H").Find(Cells(i, "D"), FoundInnos, xlValues, xlWhole, xlByRows, xlPrevious)
Loop While FoundInnos.Address <> FAdr
End If
End If
Next
End With
End Sub
Большое спасибо за помощь! Вобщем то то что нужно, за исключением того что в книге >14 тыс. строк из которых без заливки 1200 +- из которых заполняется только 1-я ячека в столбце. Если не затруднит подскажите как релизовать заполнение всего столбца. Немного поправил под себя поскольку заливка реализована макросом при заполнении столбца "Куда убыл" но по сути это роли не играет.
Код
'If Cells(i, "D").Interior.ColorIndex = -4142 Then 'нет заливки
If Cells(i, "AT").Value = "" Then