SOS РЕбята нужна помощь Ваша! не могу вставить формулу в код, до этого мне очень помог KuklP, большое спс ему, но возникла еще проблемка, теперь нужно вставить формулу, а куда ее добавить в код не знаю((
вот код который копирует с листа, а теперь нужно не копировать а просто вставить формулу ( в примере все расписал) Public Sub www() Dim x& x = Sheets("Лист2").Cells.Find("*", [a1], xlFormulas, 1, 2, 2).Column Sheets("Лист1").[D1:D5].Copy Sheets("Лист2").Cells(3, x + 1)
End Sub
SOS РЕбята нужна помощь Ваша! не могу вставить формулу в код, до этого мне очень помог KuklP, большое спс ему, но возникла еще проблемка, теперь нужно вставить формулу, а куда ее добавить в код не знаю((
вот код который копирует с листа, а теперь нужно не копировать а просто вставить формулу ( в примере все расписал) Public Sub www() Dim x& x = Sheets("Лист2").Cells.Find("*", [a1], xlFormulas, 1, 2, 2).Column Sheets("Лист1").[D1:D5].Copy Sheets("Лист2").Cells(3, x + 1)
Странная задача. Если Вам надо добавлять данные на Лист2 из столбца Листа1 и при этом данные на Лист1 будут помещаться всегда в одно и то же место (D4:D10), то код уже готов.
Если же на Листе1 новые месяцы будут добавляться правее столбца D и надо, чтобы они возникали на Листе2 правее столбца J, то тогда в J4 Листа2 формулу типа такой:
[/vba] И потом ее скопировать ниже и правее. Но это надо ввести ручками как формулу. А вот зачем ее кодом вводить - мне совершенно не понятно.
Странная задача. Если Вам надо добавлять данные на Лист2 из столбца Листа1 и при этом данные на Лист1 будут помещаться всегда в одно и то же место (D4:D10), то код уже готов.
Если же на Листе1 новые месяцы будут добавляться правее столбца D и надо, чтобы они возникали на Листе2 правее столбца J, то тогда в J4 Листа2 формулу типа такой:
Erik, ну так и в самом деле нехорошо. В первой теме Вы все время меняли условия. История продолжается. С таким подходом немудрено заработать полный игнор. Давайте так - если решение Gustav Вас не удовлетворит, Вы хорошо продумаете Вашу задачу, не спеша, четко и понятно ее сформулируете, с примером и разъяснениями. Чтоб можно было закрыть тему.
Erik, ну так и в самом деле нехорошо. В первой теме Вы все время меняли условия. История продолжается. С таким подходом немудрено заработать полный игнор. Давайте так - если решение Gustav Вас не удовлетворит, Вы хорошо продумаете Вашу задачу, не спеша, четко и понятно ее сформулируете, с примером и разъяснениями. Чтоб можно было закрыть тему.KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Я всё обдумал уже, ручками я и сам знаю что можно найти, но так как отчет очень большой и обновляется, необходимо вмешательство макроса, единственное что я прошу сейчас это в Ваш код (который ниже) вставить формулу по уже упомянутому условию и ВСЁ. Пардон что мучаю вопросами, но это ведь форум? а все коды которые Вы мне написали, они мне тож нужны.
[vba]
Код
Public Sub www() Dim x& x = Sheets("Лист2").Cells.Find("*", [a1], xlFormulas, 1, 2, 2).Column Sheets("Лист1").[D1:D5].Copy Sheets("Лист2").Cells(3, x + 1)
End Sub
[/vba]
Я всё обдумал уже, ручками я и сам знаю что можно найти, но так как отчет очень большой и обновляется, необходимо вмешательство макроса, единственное что я прошу сейчас это в Ваш код (который ниже) вставить формулу по уже упомянутому условию и ВСЁ. Пардон что мучаю вопросами, но это ведь форум? а все коды которые Вы мне написали, они мне тож нужны.
[vba]
Код
Public Sub www() Dim x& x = Sheets("Лист2").Cells.Find("*", [a1], xlFormulas, 1, 2, 2).Column Sheets("Лист1").[D1:D5].Copy Sheets("Лист2").Cells(3, x + 1)
А лист1 он всегда обновляется но формат остается одним, т.е я копиру каждый раз новый лист а с этого листа нужно макросом вытягивать данные. Если я буду использовать =ИНДЕКС(Лист1!$1:$65536; ПОИСКПОЗ($G4;Лист1!$C:$C;); ПОИСКПОЗ(J$3;Лист1!$5:$5;)) мне нужно все найденные значения сохранить в формате значений, лучше будет если макрос найдет последнюю ячейку и вставит формулу.
В общем кто знает как это сделать напишите, если нет то нет.
А лист1 он всегда обновляется но формат остается одним, т.е я копиру каждый раз новый лист а с этого листа нужно макросом вытягивать данные. Если я буду использовать =ИНДЕКС(Лист1!$1:$65536; ПОИСКПОЗ($G4;Лист1!$C:$C;); ПОИСКПОЗ(J$3;Лист1!$5:$5;)) мне нужно все найденные значения сохранить в формате значений, лучше будет если макрос найдет последнюю ячейку и вставит формулу.
В общем кто знает как это сделать напишите, если нет то нет.Erik
я не спорю хорошо работает, но нужно ее постоянно вбивать вручную, а мне нужно чтобы она вбивалась макросом, находя последний пустой столбец идущий за не пустым и всё.
я не спорю хорошо работает, но нужно ее постоянно вбивать вручную, а мне нужно чтобы она вбивалась макросом, находя последний пустой столбец идущий за не пустым и всё.Erik
кто мне может совместить данный код + например формула =ИНДЕКС(Лист1!$1:$65536; ПОИСКПОЗ($G4;Лист1!$C:$C;); ПОИСКПОЗ(J$3;Лист1!$5:$5;)) [vba]
Код
Public Sub www() Dim x& x = Sheets("Лист2").Cells.Find("*", [a1], xlFormulas, 1, 2, 2).Column Sheets("Лист1").[D1:D5].Copy Sheets("Лист2").Cells(3, x + 1) ' тут нужно вставить не скопированные значения на листе 1 а просто формулу на лист 2
[/vba]
кто мне может совместить данный код + например формула =ИНДЕКС(Лист1!$1:$65536; ПОИСКПОЗ($G4;Лист1!$C:$C;); ПОИСКПОЗ(J$3;Лист1!$5:$5;)) [vba]
Код
Public Sub www() Dim x& x = Sheets("Лист2").Cells.Find("*", [a1], xlFormulas, 1, 2, 2).Column Sheets("Лист1").[D1:D5].Copy Sheets("Лист2").Cells(3, x + 1) ' тут нужно вставить не скопированные значения на листе 1 а просто формулу на лист 2
на листе1 обновляется всё, но данные которые мне нужно вытащить всегда в столбце D, а на листе2 данные которые я вытаскиваю в хронологическом порядке строются т.е мне это нужно чтоб посмотреть фин состояние на каждый месяц. немного подумав решил так, раз никто не поймет меня. просто забить в определенную ячейку формулу и её от туда копировать.
Public Sub моой() Dim x& x = Sheets("Лист2").Cells.Find("*", [a1], xlFormulas, 1, 2, 2).Column Sheets("Лист2").[E4].Copy Sheets("Лист2").Cells(4, x + 1) '[E4] это ячейка которая содержит формулу
End Sub
на листе1 обновляется всё, но данные которые мне нужно вытащить всегда в столбце D, а на листе2 данные которые я вытаскиваю в хронологическом порядке строются т.е мне это нужно чтоб посмотреть фин состояние на каждый месяц. немного подумав решил так, раз никто не поймет меня. просто забить в определенную ячейку формулу и её от туда копировать.
Public Sub моой() Dim x& x = Sheets("Лист2").Cells.Find("*", [a1], xlFormulas, 1, 2, 2).Column Sheets("Лист2").[E4].Copy Sheets("Лист2").Cells(4, x + 1) '[E4] это ячейка которая содержит формулу
Public Sub a() Dim x& x = Sheets("Лист2").Cells.Find("*", [a1], xlFormulas, 1, 2, 2).Column + 1 Range(Cells(4, x), Cells(8, x)).Formula = _ "=INDEX(Лист1!R1:R65536, MATCH(RC7,Лист1!C3,), MATCH(R3C,Лист1!R5,))"'замени формулу End Sub
Public Sub a() Dim x& x = Sheets("Лист2").Cells.Find("*", [a1], xlFormulas, 1, 2, 2).Column + 1 Range(Cells(4, x), Cells(8, x)).Formula = _ "=INDEX(Лист1!R1:R65536, MATCH(RC7,Лист1!C3,), MATCH(R3C,Лист1!R5,))"'замени формулу End Sub
Public Sub a() Dim x& x = Sheets("Лист2").Cells.Find("*", [a1], xlFormulas, 1, 2, 2).Column + 1 y = Cells(Rows.Count, 7).End(xlUp).Row Range(Cells(4, x), Cells(y, x)).Formula = _ "=INDEX(Лист1!R1:R65536, MATCH(RC7,Лист1!C3,), MATCH(R3C,Лист1!R5,))" End Sub
[/vba]
взял столбец G [vba]
Code
Public Sub a() Dim x& x = Sheets("Лист2").Cells.Find("*", [a1], xlFormulas, 1, 2, 2).Column + 1 y = Cells(Rows.Count, 7).End(xlUp).Row Range(Cells(4, x), Cells(y, x)).Formula = _ "=INDEX(Лист1!R1:R65536, MATCH(RC7,Лист1!C3,), MATCH(R3C,Лист1!R5,))" End Sub
ABC привет! не подскажешь как вставить не одну формулу а несколько (например 5) т.е также по порядку с лева на права, а потом все протянуть вниз, думал получится самому сделать, но не вышло и также не знаю почему в excel 2007 ко который ты мне выслал не работает, в модуле вот эту строку красит красным цветом Range(Cells(4, x), Cells(y, x)).Formula = _ "=INDEX(Лист1!R1:R65536, MATCH(RC7,Лист1!C3,), MATCH(R3C,Лист1!R5,))"
ABC привет! не подскажешь как вставить не одну формулу а несколько (например 5) т.е также по порядку с лева на права, а потом все протянуть вниз, думал получится самому сделать, но не вышло и также не знаю почему в excel 2007 ко который ты мне выслал не работает, в модуле вот эту строку красит красным цветом Range(Cells(4, x), Cells(y, x)).Formula = _ "=INDEX(Лист1!R1:R65536, MATCH(RC7,Лист1!C3,), MATCH(R3C,Лист1!R5,))"Erik
в модуле вот эту строку красит красным цветом Range(Cells(4, x), Cells(y, x)).Formula = _ "=INDEX(Лист1!R1:R65536, MATCH(RC7,Лист1!C3,), MATCH(R3C,Лист1!R5,))"
Либо символ подчеркивания удалился (при расположении этого оператора на двух строчках), либо, наоборот, не удалился при попытке всё разместить в одной строке. В исходном виде этот оператор располагается на двух строчках, и первая строка завершается пробелом и символом подчеркивания - это такой признак продолжения на следующей строке.
Quote (Erik)
в модуле вот эту строку красит красным цветом Range(Cells(4, x), Cells(y, x)).Formula = _ "=INDEX(Лист1!R1:R65536, MATCH(RC7,Лист1!C3,), MATCH(R3C,Лист1!R5,))"
Либо символ подчеркивания удалился (при расположении этого оператора на двух строчках), либо, наоборот, не удалился при попытке всё разместить в одной строке. В исходном виде этот оператор располагается на двух строчках, и первая строка завершается пробелом и символом подчеркивания - это такой признак продолжения на следующей строке.Gustav
Привет всем! опять я к Вам за помощью) Всё не как не могу добить свой отчет((( то одно то другое не так. Теперь нужно сравнить финансовое состояние и автоматом вбивать дату + всё это дело заменить значениями а не формулами т.к лист от куда берутся данные каждый мес. обновляется. Вот такая задача. Если у кого есть какие идеи по этому поводу, буду очень рад их увидеть! Р.С очень срочно ребята((
в файле все действия расписал подробно
Привет всем! опять я к Вам за помощью) Всё не как не могу добить свой отчет((( то одно то другое не так. Теперь нужно сравнить финансовое состояние и автоматом вбивать дату + всё это дело заменить значениями а не формулами т.к лист от куда берутся данные каждый мес. обновляется. Вот такая задача. Если у кого есть какие идеи по этому поводу, буду очень рад их увидеть! Р.С очень срочно ребята((
Public Sub a() Dim x&, yy&, y& x = Sheets("Лист2").Cells.Find("*", [a1], xlFormulas, 1, 2, 2).Column ' + 1 y = Cells(Rows.Count, 7).End(xlUp).Row ' тянем формулу по 7-му столбцу Range(Cells(4, 8), Cells(y, 8)).Clear Range(Cells(4, x), Cells(y, x)).Formula = _ "=INDEX(Лист1!R1:R65536, MATCH(RC7,Лист1!C3,), MATCH(R3C,Лист1!R5,))" Range(Cells(4, x), Cells(y, x)).Value = Range(Cells(4, x), Cells(y, x)).Value For yy = 4 To Cells(Rows.Count, 7).End(xlUp).Row If Cells(yy, x - 1).Value <> Cells(yy, x).Value Then Cells(yy, 8).Value = Cells(yy, x).Value End If Next End Sub
[/vba]
так? убрал +1 так как Вы ищите по дате [vba]
Code
Public Sub a() Dim x&, yy&, y& x = Sheets("Лист2").Cells.Find("*", [a1], xlFormulas, 1, 2, 2).Column ' + 1 y = Cells(Rows.Count, 7).End(xlUp).Row ' тянем формулу по 7-му столбцу Range(Cells(4, 8), Cells(y, 8)).Clear Range(Cells(4, x), Cells(y, x)).Formula = _ "=INDEX(Лист1!R1:R65536, MATCH(RC7,Лист1!C3,), MATCH(R3C,Лист1!R5,))" Range(Cells(4, x), Cells(y, x)).Value = Range(Cells(4, x), Cells(y, x)).Value For yy = 4 To Cells(Rows.Count, 7).End(xlUp).Row If Cells(yy, x - 1).Value <> Cells(yy, x).Value Then Cells(yy, 8).Value = Cells(yy, x).Value End If Next End Sub