здравствуйте! Не знаю, может зря создал эту тему, так что модераторы не баньте. Есть 2 Листа. В таблице 1 данные_Лист 1. Их нужно перенести. с соблюдением цвета и определенного условия переносимой ячейки на Лист "Проба". Файл-пример прилагаю. Тема была на форуме "Вопросы по Эксель". Формула помогла, но решение по цвету нет, или пока пауза. Цвет нужен для подсчета по макросу позиций заполнения проемов. Нужные ячейки, границы, выделены жирным и закрашены для удобства желтым цветом.
здравствуйте! Не знаю, может зря создал эту тему, так что модераторы не баньте. Есть 2 Листа. В таблице 1 данные_Лист 1. Их нужно перенести. с соблюдением цвета и определенного условия переносимой ячейки на Лист "Проба". Файл-пример прилагаю. Тема была на форуме "Вопросы по Эксель". Формула помогла, но решение по цвету нет, или пока пауза. Цвет нужен для подсчета по макросу позиций заполнения проемов. Нужные ячейки, границы, выделены жирным и закрашены для удобства желтым цветом.concore
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("V12")) Is Nothing Then On Error Resume Next With Sheets("Таблица 1") r_ = WorksheetFunction.Match(Range("V12"), .Range("C:C"), 0) If Err Then Range("V15").Interior.Pattern = xlNone Exit Sub End If ic_ = .Range("D" & r_).Interior.Color End With Range("V15").Interior.Color = ic_ End If End Sub
[/vba] ============ А перенос мы уже сделали ВПР-ом в предыдущей теме Файл с ВПР перевложил
Так нужно? [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("V12")) Is Nothing Then On Error Resume Next With Sheets("Таблица 1") r_ = WorksheetFunction.Match(Range("V12"), .Range("C:C"), 0) If Err Then Range("V15").Interior.Pattern = xlNone Exit Sub End If ic_ = .Range("D" & r_).Interior.Color End With Range("V15").Interior.Color = ic_ End If End Sub
[/vba] ============ А перенос мы уже сделали ВПР-ом в предыдущей теме Файл с ВПР перевложил_Boroda_
Их нужно перенести. с соблюдением цвета и определенного условия переносимой ячейки на Лист "Проба".
В модуль листа Проба [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("AJ12")) Is Nothing Then Dim FoundPosition As Range Application.EnableEvents = False With Worksheets("Таблица 1") Set FoundPosition = .Columns(3).Find(Target, , xlValues, xlWhole) .Cells(FoundPosition.Row, "D").Copy Range("AJ13") 'шифр .Cells(FoundPosition.Row, "E").Copy Range("AJ15").PasteSpecial xlPasteFormats Range("AJ15").PasteSpecial xlPasteValuesAndNumberFormats 'площадь End With End If Application.EnableEvents = True End Sub
[/vba]
Цитата
Их нужно перенести. с соблюдением цвета и определенного условия переносимой ячейки на Лист "Проба".
В модуль листа Проба [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("AJ12")) Is Nothing Then Dim FoundPosition As Range Application.EnableEvents = False With Worksheets("Таблица 1") Set FoundPosition = .Columns(3).Find(Target, , xlValues, xlWhole) .Cells(FoundPosition.Row, "D").Copy Range("AJ13") 'шифр .Cells(FoundPosition.Row, "E").Copy Range("AJ15").PasteSpecial xlPasteFormats Range("AJ15").PasteSpecial xlPasteValuesAndNumberFormats 'площадь End With End If Application.EnableEvents = True End Sub
контрагенты прибавляются и отваливаются, соответственно при копировании нового листа в итоговый файл они добавляются, но в динамике не участвуют. Попытался с помощью присвоения переменной номера цвета, которым выделена ячейка с ИНН выделить и скопировать на страницу динамики в столбец ИНН, ничего не получилось. Можете подсказать, как скопировать из второго листа все ИНН выделенные цветом на первый лист с добавлением отсутствующих. образец примерный прилагаю.
контрагенты прибавляются и отваливаются, соответственно при копировании нового листа в итоговый файл они добавляются, но в динамике не участвуют. Попытался с помощью присвоения переменной номера цвета, которым выделена ячейка с ИНН выделить и скопировать на страницу динамики в столбец ИНН, ничего не получилось. Можете подсказать, как скопировать из второго листа все ИНН выделенные цветом на первый лист с добавлением отсутствующих. образец примерный прилагаю.petyavova
Уважаемые Boroda и Kuzmich спасибо, но не получается. Boroda, при копировании и вставки все слетает. Kuzmich, как запускать созданный Вами макрос? Создал другой файл-пример. точнее расписал что и как мне нужно делать. что копировать. куда переносить и где заполнять.
Уважаемые Boroda и Kuzmich спасибо, но не получается. Boroda, при копировании и вставки все слетает. Kuzmich, как запускать созданный Вами макрос? Создал другой файл-пример. точнее расписал что и как мне нужно делать. что копировать. куда переносить и где заполнять.concore
Макрос в модуль листа Проба Макрос срабатывает при изменении ячейки AJ12 листа Проба. Вы выбираете номер позиции из выпадающего списка, а шифр и площадь проема подтягиваются макросом с листа "Таблица 1"
Цитата
Kuzmich, как запускать созданный Вами макрос?
Макрос в модуль листа Проба Макрос срабатывает при изменении ячейки AJ12 листа Проба. Вы выбираете номер позиции из выпадающего списка, а шифр и площадь проема подтягиваются макросом с листа "Таблица 1"Kuzmich
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("AD12")) Is Nothing Then Dim FoundPosition As Range Application.EnableEvents = False With Worksheets("Заполнение Проемов") Set FoundPosition = .Columns(3).Find(Target, , xlValues, xlWhole) .Cells(FoundPosition.Row, "D").Copy Range("AD13") 'шифр .Cells(FoundPosition.Row, "E").Copy Range("AD14").PasteSpecial xlPasteFormats Range("AD14").PasteSpecial xlPasteValuesAndNumberFormats 'площадь End With End If Application.EnableEvents = True End Sub
1. Подправил под новую таблицу, но все равно при изменении из списка не работает. что изменил выделено красным, может я ОШИБСЯ? Ни каких изменений и в старом файле-примере нет. 2. если я правильно понял, то при копировании таблицы шаблона и переносе её все слетит? там вроде бы привязка к определенным ячейкам?
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("AD12")) Is Nothing Then Dim FoundPosition As Range Application.EnableEvents = False With Worksheets("Заполнение Проемов") Set FoundPosition = .Columns(3).Find(Target, , xlValues, xlWhole) .Cells(FoundPosition.Row, "D").Copy Range("AD13") 'шифр .Cells(FoundPosition.Row, "E").Copy Range("AD14").PasteSpecial xlPasteFormats Range("AD14").PasteSpecial xlPasteValuesAndNumberFormats 'площадь End With End If Application.EnableEvents = True End Sub
1. Подправил под новую таблицу, но все равно при изменении из списка не работает. что изменил выделено красным, может я ОШИБСЯ? Ни каких изменений и в старом файле-примере нет. 2. если я правильно понял, то при копировании таблицы шаблона и переносе её все слетит? там вроде бы привязка к определенным ячейкам?concore
Для новой таблицы макрос должен быть в модуле листа Шаблон и расчеты. В ячейке AD12 организован выпадающий список, при выборе нужного значения номера позиции макросом подтягиваются шифр и площадь из листа Заполнение Проемов. На мой взгляд все расчеты надо делать в Шаблоне, а потом переносить его в нужное место листа.
Для новой таблицы макрос должен быть в модуле листа Шаблон и расчеты. В ячейке AD12 организован выпадающий список, при выборе нужного значения номера позиции макросом подтягиваются шифр и площадь из листа Заполнение Проемов. На мой взгляд все расчеты надо делать в Шаблоне, а потом переносить его в нужное место листа.Kuzmich
Kuzmich заполнил шаблон и перенес. Начал изменять шаблон. вносить другие изменения, и не чего не происходит. Обратил внимание, у Вас прописана ячейка AD12, при копировании и вставки ячейка меняется и макрос похоже уже не работает (((. Если я правильно понял Файл прилагаю
Kuzmich заполнил шаблон и перенес. Начал изменять шаблон. вносить другие изменения, и не чего не происходит. Обратил внимание, у Вас прописана ячейка AD12, при копировании и вставки ячейка меняется и макрос похоже уже не работает (((. Если я правильно понял Файл прилагаюconcore