Доброго времени суток, господа (дамы, разумеется, тоже). Вот тут была создана тема. В одном из сообщений этой темы просили заставить Excel делать перенос из одной книги в другую по условию. Я записал свой первый макрос (с помощью макрорекордера) и поделился им. В принципе, я понимаю что делает этот макрос, могу его прочитать, но не знаю как его исправить, чтобы он делал то, что нужно! При переносе на лист "Да" или "Нет" значений из листа "Данные", предыдущие значения "затираются" и вставляются новые. А по "сценарию" значения должны выстраиваться в список (в следующей строке). Где и что надо поменять/добавить, чтобы макрос работал правильно?
Доброго времени суток, господа (дамы, разумеется, тоже). Вот тут была создана тема. В одном из сообщений этой темы просили заставить Excel делать перенос из одной книги в другую по условию. Я записал свой первый макрос (с помощью макрорекордера) и поделился им. В принципе, я понимаю что делает этот макрос, могу его прочитать, но не знаю как его исправить, чтобы он делал то, что нужно! При переносе на лист "Да" или "Нет" значений из листа "Данные", предыдущие значения "затираются" и вставляются новые. А по "сценарию" значения должны выстраиваться в список (в следующей строке). Где и что надо поменять/добавить, чтобы макрос работал правильно?light26
Я не волшебник. Я только учусь
Сообщение отредактировал light26 - Вторник, 03.01.2012, 00:00
Андрей, ты не прав. Если ты понимаешь как работает формула/код, то это не значит что ты можешь её написать/подправить. Можно тупо не знать синтаксис. Или каких-нибудь ограничений. Или совместимости операторов. Или ещё чего-нибудь в этом роде.
Вадим - предупреждение. Пока устное. Название темы меняй.
Всё, .
Quote (RAN)
Если понимаешь - можешь поправить
Андрей, ты не прав. Если ты понимаешь как работает формула/код, то это не значит что ты можешь её написать/подправить. Можно тупо не знать синтаксис. Или каких-нибудь ограничений. Или совместимости операторов. Или ещё чего-нибудь в этом роде.
Вадим - предупреждение. Пока устное. Название темы меняй.
Серёг, сколько раз ты на форумах видел вопрос типа "Как увеличить кол-во вложений ЕСЛИ?"? Постоянно возникает. А почему? Потому что люди ПОНИМАЮТ как работает функция, пользуются ей, но упираются в ограничение, которое не могут обойти. В этом случае просто используется другая функция, но вот эту, другую функцию, человек может и НЕ ЗНАТЬ...
Пример конечно не самый лучший, но суть должна быть понятна.
Quote (KuklP)
Подправить как раз сможешь
Серёг, сколько раз ты на форумах видел вопрос типа "Как увеличить кол-во вложений ЕСЛИ?"? Постоянно возникает. А почему? Потому что люди ПОНИМАЮТ как работает функция, пользуются ей, но упираются в ограничение, которое не могут обойти. В этом случае просто используется другая функция, но вот эту, другую функцию, человек может и НЕ ЗНАТЬ...
Пример конечно не самый лучший, но суть должна быть понятна.Serge_007
А вот как раз это и не есть правда. Если понимаешь - можешь поправить.
Правда, правда. Я понимаю, потому что писал ее макрорекордером. Разумеется, помню свои действия. Знаю что значит cut и delete. А вот что сделать для того, чтобы, например после cut происходил paste, но уже во второй строке, а не в той же, я не знаю. Я не знаю как заставить делать cut, paste и delete после выбора в столбце В значения Да или Нет и т.п.
Quote (RAN)
А вот как раз это и не есть правда. Если понимаешь - можешь поправить.
Правда, правда. Я понимаю, потому что писал ее макрорекордером. Разумеется, помню свои действия. Знаю что значит cut и delete. А вот что сделать для того, чтобы, например после cut происходил paste, но уже во второй строке, а не в той же, я не знаю. Я не знаю как заставить делать cut, paste и delete после выбора в столбце В значения Да или Нет и т.п.light26
Для этого и создал тему Вот, кстати, мысля меня посетила: А правильно будет в начале кода использовать
Code
Sub Перенос() ' ' Перенос Макрос if "В:В"="Да" then Range("A1").Select Selection.Cut Sheets("Да").Select ActiveSheet.Paste Columns("A:A").EntireColumn.AutoFit Sheets("Данные").Select Selection.Delete Shift:=xlUp Range("B1").Select Selection.ClearContents end if Range("A1").Select Selection.Cut Sheets("Нет").Select ActiveSheet.Paste Columns("A:A").EntireColumn.AutoFit Sheets("Данные").Select Selection.Delete Shift:=xlUp Range("B1").Select Selection.ClearContents End Sub
Quote (RAN)
И будем учиться!
Для этого и создал тему Вот, кстати, мысля меня посетила: А правильно будет в начале кода использовать
Code
Sub Перенос() ' ' Перенос Макрос if "В:В"="Да" then Range("A1").Select Selection.Cut Sheets("Да").Select ActiveSheet.Paste Columns("A:A").EntireColumn.AutoFit Sheets("Данные").Select Selection.Delete Shift:=xlUp Range("B1").Select Selection.ClearContents end if Range("A1").Select Selection.Cut Sheets("Нет").Select ActiveSheet.Paste Columns("A:A").EntireColumn.AutoFit Sheets("Данные").Select Selection.Delete Shift:=xlUp Range("B1").Select Selection.ClearContents End Sub
Вадим, поскольку это далеко не первый твой вопрос, давай строить диалог так: Ты пишешь любой макрос. Возникает вопрос по любой строке. Ты задаешь, мы отвечаем. Предварительно есть смысл познакомиться со справкой. Если вопросы дублируются - ответ ??? Может дам, че ты хошь!
Вадим, поскольку это далеко не первый твой вопрос, давай строить диалог так: Ты пишешь любой макрос. Возникает вопрос по любой строке. Ты задаешь, мы отвечаем. Предварительно есть смысл познакомиться со справкой. Если вопросы дублируются - ответ ??? Может дам, че ты хошь!RAN
проверяйте, правильно ли Вы поняли, что делает макрос
Повторюсь. Я его не просто понял. Я его сам записывал через макрорекордер. Все действия помню, поэтому и макрос могу прочитать. Но внести дополнения/изменения мне не под силу. Пока я еще деревянный
Quote (nerv)
проверяйте, правильно ли Вы поняли, что делает макрос
Повторюсь. Я его не просто понял. Я его сам записывал через макрорекордер. Все действия помню, поэтому и макрос могу прочитать. Но внести дополнения/изменения мне не под силу. Пока я еще деревянный light26
Да в макросе мне все ясно. Но он не выполняет тех функций, которые требуется. Задача: Если в любой ячейке столбца В напротив значения ячейки столбца А установить одно из значений списка ("Да", "Нет"), то значение из ячейки столбца А должно переместиться в лист Да или Нет (в зависимости от значения ячейки столбца В в той же строке) Мой макрос только копирует и вставляет, но не по указанному выше сценарию
Quote (RAN)
не пойму, что там не ясно может быть?
Да в макросе мне все ясно. Но он не выполняет тех функций, которые требуется. Задача: Если в любой ячейке столбца В напротив значения ячейки столбца А установить одно из значений списка ("Да", "Нет"), то значение из ячейки столбца А должно переместиться в лист Да или Нет (в зависимости от значения ячейки столбца В в той же строке) Мой макрос только копирует и вставляет, но не по указанному выше сценариюlight26
Я не волшебник. Я только учусь
Сообщение отредактировал light26 - Вторник, 03.01.2012, 00:20