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

Вход

Регистрация

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

 

= Мир MS Excel/Удаление неиспользуемых позиций в таблице. - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Удаление неиспользуемых позиций в таблице. (Формулы/Formulas)
Удаление неиспользуемых позиций в таблице.
Aleksanqr Дата: Среда, 13.06.2018, 10:07 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Здравствуйте! Подскажите, пожалуйста, в следующем. Есть таблица продуктовой корзины. Необходимо, чтобы после заполнения пользователем нужных ему строк этой таблицы (цена, кол-во позиций) на другом листе выводилась эта же таблица, но уже за исключением тех продуктов, которые не были затронуты, т. е. которые не нужно покупать.
В идеале должен получится результат, который показан на листе 'Итоговый список', с учетом отмеченных (посчитанных) позиций листа 'Продуктовая корзина'.
К сообщению приложен файл: 1055056.xlsx(10.8 Kb)


Сообщение отредактировал Aleksanqr - Среда, 13.06.2018, 12:00
 
Ответить
СообщениеЗдравствуйте! Подскажите, пожалуйста, в следующем. Есть таблица продуктовой корзины. Необходимо, чтобы после заполнения пользователем нужных ему строк этой таблицы (цена, кол-во позиций) на другом листе выводилась эта же таблица, но уже за исключением тех продуктов, которые не были затронуты, т. е. которые не нужно покупать.
В идеале должен получится результат, который показан на листе 'Итоговый список', с учетом отмеченных (посчитанных) позиций листа 'Продуктовая корзина'.

Автор - Aleksanqr
Дата добавления - 13.06.2018 в 10:07
bigor Дата: Среда, 13.06.2018, 17:13 | Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Добрый день.
Вот посмотрите, почти Ваш идеал :)
К сообщению приложен файл: TestDelZeroRow.xlsx(18.0 Kb)
 
Ответить
СообщениеДобрый день.
Вот посмотрите, почти Ваш идеал :)

Автор - bigor
Дата добавления - 13.06.2018 в 17:13
_Boroda_ Дата: Среда, 13.06.2018, 17:51 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 13194
Репутация: 5425 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Вариант кнопочкой
[vba]
Код
Sub tt()
    Dim sh As Worksheet
    Application.ScreenUpdating = 0
    Me.Copy after:=Sheets(Me.Index)
    Set sh = ActiveSheet
    With sh
        .Name = "Итог_" & Format(Now, "YYYY_MM_DD hh_mm_ss")
        nc_ = 4
        For i = 1 To 2
            c_ = 1 + (i - 1) * 4
            r1_ = Cells(Rows.Count, c_).End(3).Row
            For j = r1_ To 1 Step -1
                If Cells(j, c_ + 1) = "" And Cells(j, c_) <> "" Then
                    If Cells(j, c_).MergeCells = False Then
                        .Cells(j, c_).Resize(1, nc_).Delete Shift:=xlUp
                    Else
                        If .Cells(j + 2, c_ + 1) = "" Then
                            .Cells(j, c_).Resize(2, nc_).Delete Shift:=xlUp
                        End If
                    End If
                End If
            Next j
        Next i
    End With
    Application.ScreenUpdating = 1
End Sub
[/vba]
К сообщению приложен файл: 1055056-1-1.xlsm(20.3 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВариант кнопочкой
[vba]
Код
Sub tt()
    Dim sh As Worksheet
    Application.ScreenUpdating = 0
    Me.Copy after:=Sheets(Me.Index)
    Set sh = ActiveSheet
    With sh
        .Name = "Итог_" & Format(Now, "YYYY_MM_DD hh_mm_ss")
        nc_ = 4
        For i = 1 To 2
            c_ = 1 + (i - 1) * 4
            r1_ = Cells(Rows.Count, c_).End(3).Row
            For j = r1_ To 1 Step -1
                If Cells(j, c_ + 1) = "" And Cells(j, c_) <> "" Then
                    If Cells(j, c_).MergeCells = False Then
                        .Cells(j, c_).Resize(1, nc_).Delete Shift:=xlUp
                    Else
                        If .Cells(j + 2, c_ + 1) = "" Then
                            .Cells(j, c_).Resize(2, nc_).Delete Shift:=xlUp
                        End If
                    End If
                End If
            Next j
        Next i
    End With
    Application.ScreenUpdating = 1
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 13.06.2018 в 17:51
Aleksanqr Дата: Среда, 13.06.2018, 18:59 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
bigor, _Boroda_, спасибо за помощь, очень вам благодарен!
_Boroda_, низкий поклон! Именно то, что нужно! Элегантно и в точку!
 
Ответить
Сообщениеbigor, _Boroda_, спасибо за помощь, очень вам благодарен!
_Boroda_, низкий поклон! Именно то, что нужно! Элегантно и в точку!

Автор - Aleksanqr
Дата добавления - 13.06.2018 в 18:59
Aleksanqr Дата: Среда, 13.06.2018, 19:09 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
_Boroda_, а на листе с результатами кнопка, видимо, ошибочно затесалась?
Наберусь наглости и попрошу помочь с еще одной кнопкой, которая будет обнулять лист 'Продуктовая корзина' (удалять значения ячеек кол-во), чтобы каждый раз, как с чистого листа, так сказать. Если, конечно же, не затруднит!


Сообщение отредактировал Aleksanqr - Среда, 13.06.2018, 20:01
 
Ответить
Сообщение_Boroda_, а на листе с результатами кнопка, видимо, ошибочно затесалась?
Наберусь наглости и попрошу помочь с еще одной кнопкой, которая будет обнулять лист 'Продуктовая корзина' (удалять значения ячеек кол-во), чтобы каждый раз, как с чистого листа, так сказать. Если, конечно же, не затруднит!

Автор - Aleksanqr
Дата добавления - 13.06.2018 в 19:09
_Boroda_ Дата: Среда, 13.06.2018, 20:38 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 13194
Репутация: 5425 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Ну да, забыл удаление прописать

А зачем еще одна кнопка? прямо в этот макрос можно записать
К сообщению приложен файл: 1055056-1-1_2.xlsm(21.2 Kb)


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

А зачем еще одна кнопка? прямо в этот макрос можно записать

Автор - _Boroda_
Дата добавления - 13.06.2018 в 20:38
Aleksanqr Дата: Четверг, 14.06.2018, 09:57 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Периодически пользователь будет пытаться что-то добавить или убрать уже из сформированного списка. И если список большой, то будет не совсем удобно из-за 3-4х позиций снова забивать еще 30, например. Кнопка с очищением старого наполнения решает эту проблему.

Еще пара моментов. Я поменял столбцы "Цена" и "Кол-во" местами. Было бы здорово, если бы после клика по кнопке очищался только первый столбец "Кол-во".

Второй момент - в сформированном списке можно ли убрать столбцы "Кол-во", "Цена", "Итого", если продуктов из этой половины листа нет?



А так же смещать список (Бакалея, соусы, ...) к левому краю, при отсутствии продуктов из списков "Мясо и рыба", "Фрукты и овощи", ... .
 
Ответить
СообщениеПериодически пользователь будет пытаться что-то добавить или убрать уже из сформированного списка. И если список большой, то будет не совсем удобно из-за 3-4х позиций снова забивать еще 30, например. Кнопка с очищением старого наполнения решает эту проблему.

Еще пара моментов. Я поменял столбцы "Цена" и "Кол-во" местами. Было бы здорово, если бы после клика по кнопке очищался только первый столбец "Кол-во".

Второй момент - в сформированном списке можно ли убрать столбцы "Кол-во", "Цена", "Итого", если продуктов из этой половины листа нет?



А так же смещать список (Бакалея, соусы, ...) к левому краю, при отсутствии продуктов из списков "Мясо и рыба", "Фрукты и овощи", ... .

Автор - Aleksanqr
Дата добавления - 14.06.2018 в 09:57
StoTisteg Дата: Четверг, 14.06.2018, 11:39 | Сообщение № 8
Группа: Авторы
Ранг: Старожил
Сообщений: 1016
Репутация: 86 ±
Замечаний: 0% ±

Excel 2010
чтобы каждый раз, как с чистого листа, так сказать. Если, конечно же, не затруднит!

Это одна строчка :)
[vba]
Код
Sub Zeroing()

   Range(Cells(4, 2), Cells(Cells(Rows.Count, 4).End(xlUp).Row, 4)).Clear

End Sub
[/vba]
К сообщению приложен файл: 2148661.xlsm(21.0 Kb)


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
Сообщение
чтобы каждый раз, как с чистого листа, так сказать. Если, конечно же, не затруднит!

Это одна строчка :)
[vba]
Код
Sub Zeroing()

   Range(Cells(4, 2), Cells(Cells(Rows.Count, 4).End(xlUp).Row, 4)).Clear

End Sub
[/vba]

Автор - StoTisteg
Дата добавления - 14.06.2018 в 11:39
StoTisteg Дата: Четверг, 14.06.2018, 11:43 | Сообщение № 9
Группа: Авторы
Ранг: Старожил
Сообщений: 1016
Репутация: 86 ±
Замечаний: 0% ±

Excel 2010
Было бы здорово, если бы после клика по кнопке очищался только первый столбец "Кол-во"

[vba]
Код
Sub Zeroing()

Dim cl As Integer

cl=Rows(1).Find("Кол-во").Column
Range(Cells(4, cl), Cells(Cells(Rows.Count, cl).End(xlUp).Row, cl)).Clear

End Sub
[/vba]
А то мало ли куда Вы его ещё переместите :)


Интуитивно понятный код - это когда интуитивно понятно, что это код.
 
Ответить
Сообщение
Было бы здорово, если бы после клика по кнопке очищался только первый столбец "Кол-во"

[vba]
Код
Sub Zeroing()

Dim cl As Integer

cl=Rows(1).Find("Кол-во").Column
Range(Cells(4, cl), Cells(Cells(Rows.Count, cl).End(xlUp).Row, cl)).Clear

End Sub
[/vba]
А то мало ли куда Вы его ещё переместите :)

Автор - StoTisteg
Дата добавления - 14.06.2018 в 11:43
_Boroda_ Дата: Четверг, 14.06.2018, 15:20 | Сообщение № 10
Группа: Модераторы
Ранг: Местный житель
Сообщений: 13194
Репутация: 5425 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Aleksanqr, так нужно?
Подправил немного файл и первый макрос. И макрос удаления там ниже еще
К сообщению приложен файл: 1055056-1-1_3.xlsm(24.9 Kb)


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

Автор - _Boroda_
Дата добавления - 14.06.2018 в 15:20
Aleksanqr Дата: Четверг, 14.06.2018, 17:02 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
StoTisteg, благодарю!
_Boroda_, идеально!

Пришла мысль выделить товары, количество которых отлично от 0 серым цветом. Сделал так для одной позиции, а их много:


Уверен, что есть способ не прописывать каждую позицию, подскажите, пожалуйста таковой.
 
Ответить
СообщениеStoTisteg, благодарю!
_Boroda_, идеально!

Пришла мысль выделить товары, количество которых отлично от 0 серым цветом. Сделал так для одной позиции, а их много:


Уверен, что есть способ не прописывать каждую позицию, подскажите, пожалуйста таковой.

Автор - Aleksanqr
Дата добавления - 14.06.2018 в 17:02
_Boroda_ Дата: Четверг, 14.06.2018, 17:13 | Сообщение № 12
Группа: Модераторы
Ранг: Местный житель
Сообщений: 13194
Репутация: 5425 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Этот вопрос никак не относится к текущей теме. Создавайте новую


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

Автор - _Boroda_
Дата добавления - 14.06.2018 в 17:13
Aleksanqr Дата: Четверг, 14.06.2018, 17:19 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Хорошо, я понял. В любом случае спасибо еще раз!
 
Ответить
СообщениеХорошо, я понял. В любом случае спасибо еще раз!

Автор - Aleksanqr
Дата добавления - 14.06.2018 в 17:19
Aleksanqr Дата: Пятница, 15.06.2018, 10:54 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 15
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Нашел баг, который заключается в удалении шапки "Кол-во", "Цена", "Итого", если в итоговом списке отсутствуют продукты из первых категорий "Мясо и рыба" и "Бакалея".

Пытался решить проблему самостоятельно, но низкий уровень VBA дает о себе знать. Прошу помочь исправить.

Поздно спохватился, что не хватает резюмирующей ячейки "Итого", которая выводит общую стоимость всей покупки. Добавил. Ее бы тоже как-нибудь корректно пристроить в итоговый лист.

Еще вопрос - слишком ли проблематично осуществить смещение подобного плана:


Прикреплю немного подкорректированный файл.
К сообщению приложен файл: 0011036.xlsm(27.5 Kb)
 
Ответить
СообщениеНашел баг, который заключается в удалении шапки "Кол-во", "Цена", "Итого", если в итоговом списке отсутствуют продукты из первых категорий "Мясо и рыба" и "Бакалея".

Пытался решить проблему самостоятельно, но низкий уровень VBA дает о себе знать. Прошу помочь исправить.

Поздно спохватился, что не хватает резюмирующей ячейки "Итого", которая выводит общую стоимость всей покупки. Добавил. Ее бы тоже как-нибудь корректно пристроить в итоговый лист.

Еще вопрос - слишком ли проблематично осуществить смещение подобного плана:


Прикреплю немного подкорректированный файл.

Автор - Aleksanqr
Дата добавления - 15.06.2018 в 10:54
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Удаление неиспользуемых позиций в таблице. (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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