Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Удаление (формат, данные)/создание пустых строк в таблице - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удаление (формат, данные)/создание пустых строк в таблице (Макросы/Sub)
Удаление (формат, данные)/создание пустых строк в таблице
Maryasha Дата: Четверг, 27.07.2017, 18:11 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 102
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день! Необходимо создать макрос, который будет при выборе холдинга с 10 организациями оставлять 10 строчек и удалять лишние по указанной формуле и наоборот, если 100 организаций - создавать новые и туда вставлять данные по формуле. Заранее спасибо
К сообщению приложен файл: 7028546.xlsx(22Kb)


Сообщение отредактировал Maryasha - Пятница, 28.07.2017, 10:20
 
Ответить
СообщениеДобрый день! Необходимо создать макрос, который будет при выборе холдинга с 10 организациями оставлять 10 строчек и удалять лишние по указанной формуле и наоборот, если 100 организаций - создавать новые и туда вставлять данные по формуле. Заранее спасибо

Автор - Maryasha
Дата добавления - 27.07.2017 в 18:11
InExSu Дата: Четверг, 27.07.2017, 23:24 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 93
Репутация: 12 ±
Замечаний: 0% ±

Excel 2007
Раз мудрые молчат...
Похоже Вы склоняете Excel к противоестественному ...
 
Ответить
СообщениеРаз мудрые молчат...
Похоже Вы склоняете Excel к противоестественному ...

Автор - InExSu
Дата добавления - 27.07.2017 в 23:24
Maryasha Дата: Пятница, 28.07.2017, 09:08 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 102
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
InExSu, а что тут противоестественного то?
 
Ответить
СообщениеInExSu, а что тут противоестественного то?

Автор - Maryasha
Дата добавления - 28.07.2017 в 09:08
buchlotnik Дата: Пятница, 28.07.2017, 09:26 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2866
Репутация: 806 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
Maryasha, а нужно именно удалять или добавлять? почему нельзя сделать изначально таблицу с запасом (строк 200), а потом просто фильтром скрывать пустые?


каждому For - Next!
платная помощь:
ЯД: 410012595572239
buchlotnik@mail.ru
 
Ответить
СообщениеMaryasha, а нужно именно удалять или добавлять? почему нельзя сделать изначально таблицу с запасом (строк 200), а потом просто фильтром скрывать пустые?

Автор - buchlotnik
Дата добавления - 28.07.2017 в 09:26
Maryasha Дата: Пятница, 28.07.2017, 10:04 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 102
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
buchlotnik, можно, конечно, но это на 1 действие больше, при условии большого количества таблиц, времени уйдет больше + данные будут подтягиваться в печатную форму отчета, то есть фильтры надо включать/убирать.
 
Ответить
Сообщениеbuchlotnik, можно, конечно, но это на 1 действие больше, при условии большого количества таблиц, времени уйдет больше + данные будут подтягиваться в печатную форму отчета, то есть фильтры надо включать/убирать.

Автор - Maryasha
Дата добавления - 28.07.2017 в 10:04
_Boroda_ Дата: Пятница, 28.07.2017, 10:06 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 10992
Репутация: 4564 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно?
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) <> "G2" Then Exit Sub
    Application.ScreenUpdating = 0
    Application.Calculation = xlCalculationManual
    n_ = Range("H2")
    If n_ Then
        r1_ = Range("B" & Rows.Count).End(3).Row
        ListObjects("Таблица1").Resize Range("B2:E3")
        If r1_ > 3 Then
            Range("B4:E" & r1_).Clear
        End If
        If n_ > 1 Then
            ListObjects("Таблица1").Resize Range("B2:E" & n_ + 2)
        End If
    End If
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = 1
End Sub
[/vba]
К сообщению приложен файл: 7028546_2.xlsm(30Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) <> "G2" Then Exit Sub
    Application.ScreenUpdating = 0
    Application.Calculation = xlCalculationManual
    n_ = Range("H2")
    If n_ Then
        r1_ = Range("B" & Rows.Count).End(3).Row
        ListObjects("Таблица1").Resize Range("B2:E3")
        If r1_ > 3 Then
            Range("B4:E" & r1_).Clear
        End If
        If n_ > 1 Then
            ListObjects("Таблица1").Resize Range("B2:E" & n_ + 2)
        End If
    End If
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = 1
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 28.07.2017 в 10:06
Maryasha Дата: Пятница, 28.07.2017, 10:20 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 102
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, добрый день! Спасибо.Только тапками не кидайте. А реально ли сделать не удаление строк, а удаление данных в них и формата? Внизу каждой такой таблицы идет вывод и если удалить строки - вывод либо удалится, либо сдвинется. а надо чтобы он остался на месте, тк форма - печатная (образец во вложении)
К сообщению приложен файл: 0132021.xlsx(24Kb)
 
Ответить
Сообщение_Boroda_, добрый день! Спасибо.Только тапками не кидайте. А реально ли сделать не удаление строк, а удаление данных в них и формата? Внизу каждой такой таблицы идет вывод и если удалить строки - вывод либо удалится, либо сдвинется. а надо чтобы он остался на месте, тк форма - печатная (образец во вложении)

Автор - Maryasha
Дата добавления - 28.07.2017 в 10:20
_Boroda_ Дата: Пятница, 28.07.2017, 10:30 | Сообщение № 8
Группа: Модераторы
Ранг: Местный житель
Сообщений: 10992
Репутация: 4564 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А реально ли сделать не удаление строк, а удаление данных в них и формата?

А я как сделал?
Передвиньте свой вывод из столбца В в любой другой
Или в строке
[vba]
Код
r1_ = Range("B" & Rows.Count).End(3).Row
[/vba]
букву В замените на C или D


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
А реально ли сделать не удаление строк, а удаление данных в них и формата?

А я как сделал?
Передвиньте свой вывод из столбца В в любой другой
Или в строке
[vba]
Код
r1_ = Range("B" & Rows.Count).End(3).Row
[/vba]
букву В замените на C или D

Автор - _Boroda_
Дата добавления - 28.07.2017 в 10:30
buchlotnik Дата: Пятница, 28.07.2017, 10:30 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2866
Репутация: 806 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
Цитата
а удаление данных в них и формата?
да сделайте уже таблицу с запасом и фильтруйте автоматом [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$H$3" Then
        ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=1
        ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=1, Criteria1:="<>"
    End If
End Sub
[/vba]
К сообщению приложен файл: 0132021-1-.xlsm(30Kb)


каждому For - Next!
платная помощь:
ЯД: 410012595572239
buchlotnik@mail.ru
 
Ответить
Сообщение
Цитата
а удаление данных в них и формата?
да сделайте уже таблицу с запасом и фильтруйте автоматом [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$H$3" Then
        ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=1
        ActiveSheet.ListObjects("Таблица1").Range.AutoFilter Field:=1, Criteria1:="<>"
    End If
End Sub
[/vba]

Автор - buchlotnik
Дата добавления - 28.07.2017 в 10:30
Maryasha Дата: Пятница, 28.07.2017, 10:47 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 102
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, единственное, в таблице с которой работаем, холдинги не фигурируют (в названиях столбцов их нет), то есть формула в H2 будет немного другая, тк останутся только коды и организации
 
Ответить
Сообщение_Boroda_, единственное, в таблице с которой работаем, холдинги не фигурируют (в названиях столбцов их нет), то есть формула в H2 будет немного другая, тк останутся только коды и организации

Автор - Maryasha
Дата добавления - 28.07.2017 в 10:47
Maryasha Дата: Пятница, 28.07.2017, 13:03 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 102
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, макрос учитывает наличие заполненных строчек до таблицы?
 
Ответить
Сообщение_Boroda_, макрос учитывает наличие заполненных строчек до таблицы?

Автор - Maryasha
Дата добавления - 28.07.2017 в 13:03
_Boroda_ Дата: Пятница, 28.07.2017, 13:23 | Сообщение № 12
Группа: Модераторы
Ранг: Местный житель
Сообщений: 10992
Репутация: 4564 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
холдинги не фигурируют (в названиях столбцов их нет)

В примере есть? Есть. Значит фигурируют :D
макрос учитывает наличие заполненных строчек до таблицы?

Каких заполненных строк? Мы работаем со второй строки (в макросе везде это четко прописано - "H2", "B2:E3")


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
холдинги не фигурируют (в названиях столбцов их нет)

В примере есть? Есть. Значит фигурируют :D
макрос учитывает наличие заполненных строчек до таблицы?

Каких заполненных строк? Мы работаем со второй строки (в макросе везде это четко прописано - "H2", "B2:E3")

Автор - _Boroda_
Дата добавления - 28.07.2017 в 13:23
Maryasha Дата: Пятница, 28.07.2017, 13:40 | Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 102
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
_Boroda_, так этот пример тоже Ваше творение :-)
Ссылка на пример


Сообщение отредактировал Maryasha - Пятница, 28.07.2017, 13:42
 
Ответить
Сообщение_Boroda_, так этот пример тоже Ваше творение :-)
Ссылка на пример

Автор - Maryasha
Дата добавления - 28.07.2017 в 13:40
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удаление (формат, данные)/создание пустых строк в таблице (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!