Здравствуйте! Опять столкнулся с проблемой. Есть Лист с данными и Лист с формулами, куда нужно эти данные подставлять и добавлять новые по условию в ячейке. Сейчас пользуюсь формулами массива, но они громоздки и хотелось бы упростить всю процедуру. Если макросом проще-подскажите, своих познаний недостаточно. Пример прилагаю. Спасибо.
Здравствуйте! Опять столкнулся с проблемой. Есть Лист с данными и Лист с формулами, куда нужно эти данные подставлять и добавлять новые по условию в ячейке. Сейчас пользуюсь формулами массива, но они громоздки и хотелось бы упростить всю процедуру. Если макросом проще-подскажите, своих познаний недостаточно. Пример прилагаю. Спасибо.pechkin
Я так понимаю, что раз вы всё равно пользуете макросы - то надо не формулы вставлять, а производить поиск/расчёт прямо в макросе и вставлять полученные значения. Т.е. (на вашем примере) - указали номер в B1, нажали кнопочку (или отреагировали на событие изменения ячейки/комбобокса) - и отобрали из АРХИВа нужные ячейки нужных строчек, заполняя список РАСЧЕТ.
Я такие вещи вообще запросом бы проделал...
Я так понимаю, что раз вы всё равно пользуете макросы - то надо не формулы вставлять, а производить поиск/расчёт прямо в макросе и вставлять полученные значения. Т.е. (на вашем примере) - указали номер в B1, нажали кнопочку (или отреагировали на событие изменения ячейки/комбобокса) - и отобрали из АРХИВа нужные ячейки нужных строчек, заполняя список РАСЧЕТ.
Я такие вещи вообще запросом бы проделал...AndreTM
Спасибо, Wild Pig, за ответ. Это не то, что я бы хотел. Нужно не фильтровать, а выбирать нужные данные по условию В Вашем примере в столбце Е нет формул, а готовый расчет. Может опять непонятно объясняю... Спасибо, AndreTM! Вы все правильно поняли задачу, но пока с написанием самостоятельно правильных кодов, для ее решения, по причине простого их незнания не представляется возможным. Да и те , которыми пользуюсь, подсказаны на форуме. Еще раз спасибо ВСЕМ!
Спасибо, Wild Pig, за ответ. Это не то, что я бы хотел. Нужно не фильтровать, а выбирать нужные данные по условию В Вашем примере в столбце Е нет формул, а готовый расчет. Может опять непонятно объясняю... Спасибо, AndreTM! Вы все правильно поняли задачу, но пока с написанием самостоятельно правильных кодов, для ее решения, по причине простого их незнания не представляется возможным. Да и те , которыми пользуюсь, подсказаны на форуме. Еще раз спасибо ВСЕМ!pechkin
Я не говорил, что у меня фильтр. Выбираем цифру в списке и проверяем значения в первом столбце листа "Архив", если совпало то данные с этой строки копируем на лист "Расчёт". Сформулируйте нормально (понятно не только Вам) задачу. В Вашем примере куча скрытых строк, имён, мегаформул. Я просто не знаю, как они работают.
Я не говорил, что у меня фильтр. Выбираем цифру в списке и проверяем значения в первом столбце листа "Архив", если совпало то данные с этой строки копируем на лист "Расчёт". Сформулируйте нормально (понятно не только Вам) задачу. В Вашем примере куча скрытых строк, имён, мегаформул. Я просто не знаю, как они работают.wild_pig
Прошу прощения, Wild Pig! Сразу не разобрался Вообщем Ваш пример подошел, только не могли бы Вы объяснить как это работает. Я бы хотел сам понять чего-нибудь. Действительно необходимо. чтобы из строк Листа "АРХИВ",значения первого столбца которых совпадали с значением в ячейке Листа "РАСЧЕТ", данные коопировались на этот лист. Но не все, а только указанных определенных столбцов.На самом деле таблица большая. Я бы хотел узнать. Как или Где в Вашем примере указаны Столбцы из которых берутся данные и те столбцы, куда эти данные копируются,т.к мне необходимо самому их менять. Еще раз прошу прощения. СПАСИБО!!!!
Прошу прощения, Wild Pig! Сразу не разобрался Вообщем Ваш пример подошел, только не могли бы Вы объяснить как это работает. Я бы хотел сам понять чего-нибудь. Действительно необходимо. чтобы из строк Листа "АРХИВ",значения первого столбца которых совпадали с значением в ячейке Листа "РАСЧЕТ", данные коопировались на этот лист. Но не все, а только указанных определенных столбцов.На самом деле таблица большая. Я бы хотел узнать. Как или Где в Вашем примере указаны Столбцы из которых берутся данные и те столбцы, куда эти данные копируются,т.к мне необходимо самому их менять. Еще раз прошу прощения. СПАСИБО!!!!pechkin
Здравствуйте! Всех с Новогодними праздниками! В продолжение темы прошу интеллектуальной помощи. Основные Вопросы в примере А пока подскажите что нужно изменить в коде Range("B6:D16").ClearContents, чтобы очищались только значения, а заливка ячеек оставалась? А здесь нужно чтобы копировались значения и формат [vba]
Здравствуйте! Всех с Новогодними праздниками! В продолжение темы прошу интеллектуальной помощи. Основные Вопросы в примере А пока подскажите что нужно изменить в коде Range("B6:D16").ClearContents, чтобы очищались только значения, а заливка ячеек оставалась? А здесь нужно чтобы копировались значения и формат [vba]
Sub Макрос1() Dim iLastRow As Long, rw As Long Range("B6:T16").ClearContents With Sheets("АРХИВ") iLastRow = .Cells(Rows.Count, 1).End(xlUp).Row rw = 6 For i = 1 To iLastRow If .Cells(i, 1).Value = Range("B1").Value Then Cells(rw, 2).Resize(, 3) = Array(.Cells(i, 3), .Cells(i, 4), .Cells(i, 5)) Cells(rw, 6) = .Cells(i, 7) Cells(rw, 8).Resize(, 5) = Array(.Cells(i, 9), .Cells(i, 10), .Cells(i, 11), .Cells(i, 12), .Cells(i, 13)) Cells(rw, 18) = .Cells(i, 19) Cells(rw, 20) = .Cells(i, 21) rw = rw + 1 End If Next End With End Sub
[/vba]
Пардон, resize забыл, исправил ) 2. А зачем в базе нужны жёлтые полосы и границы? Руками никак?
1. Это не ClearContents чистит, а Copy.
[vba]
Код
Sub Макрос1() Dim iLastRow As Long, rw As Long Range("B6:T16").ClearContents With Sheets("АРХИВ") iLastRow = .Cells(Rows.Count, 1).End(xlUp).Row rw = 6 For i = 1 To iLastRow If .Cells(i, 1).Value = Range("B1").Value Then Cells(rw, 2).Resize(, 3) = Array(.Cells(i, 3), .Cells(i, 4), .Cells(i, 5)) Cells(rw, 6) = .Cells(i, 7) Cells(rw, 8).Resize(, 5) = Array(.Cells(i, 9), .Cells(i, 10), .Cells(i, 11), .Cells(i, 12), .Cells(i, 13)) Cells(rw, 18) = .Cells(i, 19) Cells(rw, 20) = .Cells(i, 21) rw = rw + 1 End If Next End With End Sub
[/vba]
Пардон, resize забыл, исправил ) 2. А зачем в базе нужны жёлтые полосы и границы? Руками никак?wild_pig
Сообщение отредактировал wild_pig - Четверг, 09.01.2014, 09:09