Страницы: 1
RSS
Макрос для добавления пустых строк
 
Друзья, доброго всем дня!  
 
Солкнулся с такой задачей: Есть столбец данных, который состоит из диапазонов повторяющихся данных (ну например 1,1,1,1,2,2,2,...,N,N,N,N, только всё это в столбце). Очень нужен макрос, который добавляет по одной пустой строчке между различными диапазонами. В принципе какую логипку нужно прописать мне понятно, но я с VBA толко знакомлюсь второй день и током пока команд не знаю, а нужно срочно! Если кто поможет, Заранее спасибо!!!
 
Дима, полистайте форум. На удалении нескольких страниц был подобный пост и Павел55 выкладывал макрос вставки строк.
 
Посмотрите макрос из этой темы  
 
http://www.planetaexcel.ru/forum.php?thread_id=3124
 
Спасибо огромное, это как раз то что надо!
 
Скажите, как же всё-таки сделать так, чтобы строчка добавлялась если не совпадают данные соседних ячеек определенного столбца? т.е. допустим мне необходимо разделить таблицу пустыми строками по диапазонам даных столбца А. Допустим в диапазоне А1:А5 одни данные, в диапазоне А6:А18 другие. Макрос проверяет совпадение данных в ячейках, видит что в А5 и А6 они различные и добавляет между ними строку?
 
{quote}{login=Дмитрий}{date=03.04.2008 04:13}{thema=Если Вам не сложно!}{post}Скажите, как же всё-таки сделать так, чтобы строчка добавлялась если не совпадают данные соседних ячеек определенного столбца? т.е. допустим мне необходимо разделить таблицу пустыми строками по диапазонам даных столбца А. Допустим в диапазоне А1:А5 одни данные, в диапазоне А6:А18 другие. Макрос проверяет совпадение данных в ячейках, видит что в А5 и А6 они различные и добавляет между ними строку?{/post}{/quote}  
 
Я обычно делаю это в ручную. Добавляю рядом столбец и там вбиваю формулу =ЕСЛИ(А1=А2;1;0), потом фильтрую этот столбец по единице выделяю все строки и жму добавить строку :-) И всё
 
{quote}{login=СердЖиГ}{date=03.04.2008 04:21}{thema=Re: Если Вам не сложно!}{post}{quote}{login=Дмитрий}{date=03.04.2008 04:13}{thema=Если Вам не сложно!}{post}Скажите, как же всё-таки сделать так, чтобы строчка добавлялась если не совпадают данные соседних ячеек определенного столбца? т.е. допустим мне необходимо разделить таблицу пустыми строками по диапазонам даных столбца А. Допустим в диапазоне А1:А5 одни данные, в диапазоне А6:А18 другие. Макрос проверяет совпадение данных в ячейках, видит что в А5 и А6 они различные и добавляет между ними строку?{/post}{/quote}  
 
Я обычно делаю это в ручную. Добавляю рядом столбец и там вбиваю формулу =ЕСЛИ(А1=А2;1;0), потом фильтрую этот столбец по единице выделяю все строки и жму добавить строку :-) И всё{/post}{/quote}  
 
Совсем забыл, это работает только при отсортированном массиве.
 
{quote}{login=СердЖиГ}{date=03.04.2008 04:21}{thema=Re: Если Вам не сложно!}{post}{quote}{login=Дмитрий}{date=03.04.2008 04:13}{thema=Если Вам не сложно!}{post}Скажите, как же всё-таки сделать так, чтобы строчка добавлялась если не совпадают данные соседних ячеек определенного столбца? т.е. допустим мне необходимо разделить таблицу пустыми строками по диапазонам даных столбца А. Допустим в диапазоне А1:А5 одни данные, в диапазоне А6:А18 другие. Макрос проверяет совпадение данных в ячейках, видит что в А5 и А6 они различные и добавляет между ними строку?{/post}{/quote}  
 
Я обычно делаю это в ручную. Добавляю рядом столбец и там вбиваю формулу =ЕСЛИ(А1=А2;1;0), потом фильтрую этот столбец по единице выделяю все строки и жму добавить строку :-) И всё{/post}{/quote}  
 
Да и немного напутал, фильтрую не по 1, а по 0
 
Сейчас так и делаю, но это очень трудоемкое занятие, т.к. диапазонов данных от 50 в лучшем случае...
 
{quote}{login=Дмитрий}{date=03.04.2008 04:23}{thema=}{post}Сейчас так и делаю, но это очень трудоемкое занятие, т.к. диапазонов данных от 50 в лучшем случае...{/post}{/quote}  
 
При использовании быстрых клавиш, это делается за считанные секунды (если комп не висит при работе с огромными базами). Хотя возможно макрос и был бы полезен, но времени втыкать нет. Я такой же как и Вы - очень хочу научить, но нет времени. но потихоньку осваиваю. ПОпробуйте записать нужный макрос черех макрорекодер и провтыкать код :-) Мне помогает такой стиль обучения :-)
 
{quote}{login=}{date=03.04.2008 04:27}{thema=Re: }{post}{quote}{login=Дмитрий}{date=03.04.2008 04:23}{thema=}{post}Сейчас так и делаю, но это очень трудоемкое занятие, т.к. диапазонов данных от 50 в лучшем случае...{/post}{/quote}  
 
При использовании быстрых клавиш, это делается за считанные секунды (если комп не висит при работе с огромными базами). Хотя возможно макрос и был бы полезен, но времени втыкать нет. Я такой же как и Вы - очень хочу научить, но нет времени. но потихоньку осваиваю. ПОпробуйте записать нужный макрос черех макрорекодер и провтыкать код :-) Мне помогает такой стиль обучения :-){/post}{/quote}  
 
Да собственно с самого утра этим и занимаюсь, и что прописать нужно также вроде понятно, но вот КАК т.е. что написать на русских словах между If и Then я знаю, а вот как это всё звучит на VBA не. Гуглю инфу по VBA, но пока ничего толкового кроме данного сайта не смог найти :(  
 
ЗЫ: А подкажите, какие горячие клавиши позволяют сделать построчное выделение отфильтрованных данных?
 
Дмитрий, плиложите сюда (на форум) часть вашей таблицы
 
{quote}{login=}{date=03.04.2008 04:49}{thema=Re: Re: }{post}{quote}{login=}{date=03.04.2008 04:27}{thema=Re: }{post}{quote}{login=Дмитрий}{date=03.04.2008 04:23}{thema=}{post}Сейчас так и делаю, но это очень трудоемкое занятие, т.к. диапазонов данных от 50 в лучшем случае...{/post}{/quote}  
 
При использовании быстрых клавиш, это делается за считанные секунды (если комп не висит при работе с огромными базами). Хотя возможно макрос и был бы полезен, но времени втыкать нет. Я такой же как и Вы - очень хочу научить, но нет времени. но потихоньку осваиваю. ПОпробуйте записать нужный макрос черех макрорекодер и провтыкать код :-) Мне помогает такой стиль обучения :-){/post}{/quote}  
 
Да собственно с самого утра этим и занимаюсь, и что прописать нужно также вроде понятно, но вот КАК т.е. что написать на русских словах между If и Then я знаю, а вот как это всё звучит на VBA не. Гуглю инфу по VBA, но пока ничего толкового кроме данного сайта не смог найти :(  
 
ЗЫ: А подкажите, какие горячие клавиши позволяют сделать построчное выделение отфильтрованных данных?{/post}{/quote}  
 
я делаю следующим образом (у меня обычно базы по 20 - 30 тыщ строк): как я и писал, добавляю столбег => в первую ячейку вбиваю формулу => перехожу на не пустой столбик и жму End+стрелка вниз и оказываюсь в самом низу массива => перехожу в добавленный столбик (тоже в самом низу) => ставлю любой символ в пустую ячейку => жму End+стрелка вверх (оказываюсь на самом верху :-))=> тыкаю на ячейку с формулой => жму Shift+End + Стрелка вниз (выделяю весь пустой столбик куда нужно проставить формулу) => жму Ctrl+В (заполнить вниз)=> ставлю автофильтр => фильтрую по столбик с формулой по нужному значению=> выделяю все выделенные строки (кроме заголовка есно)=>жму правой кнопкой на названиях строк (на номерах строк) => жму добавить ячейки => снимаю фильтр. И готово. Написано на самом деле много, но когда рука на автомате это делает, требуется времени несколько секунд.
 
{quote}{login=СердЖиГ}{date=03.04.2008 05:43}{thema=Re: Re: Re: }{post}{quote}{login=}{date=03.04.2008 04:49}{thema=Re: Re: }{post}{quote}{login=}{date=03.04.2008 04:27}{thema=Re: }{post}{quote}{login=Дмитрий}{date=03.04.2008 04:23}{thema=}{post}Сейчас так и делаю, но это очень трудоемкое занятие, т.к. диапазонов данных от 50 в лучшем случае...{/post}{/quote}  
 
При использовании быстрых клавиш, это делается за считанные секунды (если комп не висит при работе с огромными базами). Хотя возможно макрос и был бы полезен, но времени втыкать нет. Я такой же как и Вы - очень хочу научить, но нет времени. но потихоньку осваиваю. ПОпробуйте записать нужный макрос черех макрорекодер и провтыкать код :-) Мне помогает такой стиль обучения :-){/post}{/quote}  
 
Да собственно с самого утра этим и занимаюсь, и что прописать нужно также вроде понятно, но вот КАК т.е. что написать на русских словах между If и Then я знаю, а вот как это всё звучит на VBA не. Гуглю инфу по VBA, но пока ничего толкового кроме данного сайта не смог найти :(  
 
ЗЫ: А подкажите, какие горячие клавиши позволяют сделать построчное выделение отфильтрованных данных?{/post}{/quote}  
 
я делаю следующим образом (у меня обычно базы по 20 - 30 тыщ строк): как я и писал, добавляю столбег => в первую ячейку вбиваю формулу => перехожу на не пустой столбик и жму End+стрелка вниз и оказываюсь в самом низу массива => перехожу в добавленный столбик (тоже в самом низу) => ставлю любой символ в пустую ячейку => жму End+стрелка вверх (оказываюсь на самом верху :-))=> тыкаю на ячейку с формулой => жму Shift+End + Стрелка вниз (выделяю весь пустой столбик куда нужно проставить формулу) => жму Ctrl+В (заполнить вниз)=> ставлю автофильтр => фильтрую по столбик с формулой по нужному значению=> выделяю все выделенные строки (кроме заголовка есно)=>жму правой кнопкой на названиях строк (на номерах строк) => жму добавить ячейки => снимаю фильтр. И готово. Написано на самом деле много, но когда рука на автомате это делает, требуется времени несколько секунд.{/post}{/quote}  
Сорри, заполнить вниз не Ctrl+B, а Ctrl+D
 
СердЖиГ, попробуйте вместо формулы =ЕСЛИ(А1=А2;1;0) вбивать в ячейку =A1=A2 и фильтровать по слову "ЛОЖЬ", мне кажется, что это быстрее, чем писать =ЕСЛИ.....
 
{quote}{login=Pavel55}{date=03.04.2008 05:43}{thema=}{post}Дмитрий, плиложите сюда (на форум) часть вашей таблицы{/post}{/quote}  
 
Павел, вот мини-пример моей таблицы. Нужно чтобы пустыми строками разделялись диапазоны с разными городами (остальные диапазоны конечно же при этом также бьются на части). Т.е. кончились данные по одному городу - пустая строка делит всю таблицу.
 
{quote}{login=Pavel55}{date=03.04.2008 05:47}{thema=}{post}СердЖиГ, попробуйте вместо формулы =ЕСЛИ(А1=А2;1;0) вбивать в ячейку =A1=A2 и фильтровать по слову "ЛОЖЬ", мне кажется, что это быстрее, чем писать =ЕСЛИ.....{/post}{/quote}  
 
А я печатаю быстро :-))))))
 
Посмотрите пример
 
{quote}{login=Pavel55}{date=03.04.2008 08:52}{thema=}{post}Посмотрите пример{/post}{/quote}  
 
Павел, спасибо! очень помогли!
Страницы: 1
Наверх