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

Вход

Регистрация

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

 

= Мир MS Excel/Суммирование после удаления - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Суммирование после удаления (Макросы/Sub)
Суммирование после удаления
ant6729 Дата: Суббота, 18.03.2017, 17:58 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Есть код

[vba]
Код
Sub Ìàêðîñ3()

   Sub Макрос1()

'' Макрос2 Макрос
' Columns("A:F").Select
'    Selection.Replace What:="0", Replacement:="", LookAt:=xlPart, _
'        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
'        ReplaceFormat:=False
   With Range("A:F")
        .Replace What:="0", Replacement:=""
        .SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
    End With
End Sub

End Sub
[/vba]

Но нужно, чтобы в колонке А:A в результате проставлялась сумма
Интересует, как это может быть сделано
К сообщению приложен файл: 5026258.xlsx (9.4 Kb)
 
Ответить
СообщениеЕсть код

[vba]
Код
Sub Ìàêðîñ3()

   Sub Макрос1()

'' Макрос2 Макрос
' Columns("A:F").Select
'    Selection.Replace What:="0", Replacement:="", LookAt:=xlPart, _
'        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
'        ReplaceFormat:=False
   With Range("A:F")
        .Replace What:="0", Replacement:=""
        .SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
    End With
End Sub

End Sub
[/vba]

Но нужно, чтобы в колонке А:A в результате проставлялась сумма
Интересует, как это может быть сделано

Автор - ant6729
Дата добавления - 18.03.2017 в 17:58
Roman777 Дата: Суббота, 18.03.2017, 18:50 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
ant6729, не очень понятно, Вы хотите просуммировать ячейки B1:F1 в ячейку A1, B2:F2 в ячейку A2 и тд.. или вы хотите в конце столбца А (ячейка A18 по Вашему примеру) увидеть сумму значений А1:A17? И не понял, зачем Вы привелик код Вашего макроса с заменой нулей на ""...


Много чего не знаю!!!!

Сообщение отредактировал Roman777 - Суббота, 18.03.2017, 18:50
 
Ответить
Сообщениеant6729, не очень понятно, Вы хотите просуммировать ячейки B1:F1 в ячейку A1, B2:F2 в ячейку A2 и тд.. или вы хотите в конце столбца А (ячейка A18 по Вашему примеру) увидеть сумму значений А1:A17? И не понял, зачем Вы привелик код Вашего макроса с заменой нулей на ""...

Автор - Roman777
Дата добавления - 18.03.2017 в 18:50
ant6729 Дата: Суббота, 18.03.2017, 19:24 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
хочу

чтобы изначально удалились все числа типа 0
если вместо нуля будет буква, то удалится она (она всегда будет одинакова везде)

И этот момент убирается кодом выше

А потом из того, что осталось
проссумировать в ячейку а1 сумму (B1:L1) например
проссумировать в ячейку B1 сумму (B2:L2)

и так далее

пример кода... возможно, потому что то, что будет дописываться, будет продолжением... нули могут заменяться на буквенные знаки


Сообщение отредактировал ant6729 - Суббота, 18.03.2017, 22:28
 
Ответить
Сообщениехочу

чтобы изначально удалились все числа типа 0
если вместо нуля будет буква, то удалится она (она всегда будет одинакова везде)

И этот момент убирается кодом выше

А потом из того, что осталось
проссумировать в ячейку а1 сумму (B1:L1) например
проссумировать в ячейку B1 сумму (B2:L2)

и так далее

пример кода... возможно, потому что то, что будет дописываться, будет продолжением... нули могут заменяться на буквенные знаки

Автор - ant6729
Дата добавления - 18.03.2017 в 19:24
ant6729 Дата: Воскресенье, 19.03.2017, 10:12 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Я макросом знаю, как это сделать, но вот, уточняю, как это можно было бы реализовать иначе... через циклы, например, хотелось бы увидеть альтернативные варианты.
 
Ответить
СообщениеЯ макросом знаю, как это сделать, но вот, уточняю, как это можно было бы реализовать иначе... через циклы, например, хотелось бы увидеть альтернативные варианты.

Автор - ant6729
Дата добавления - 19.03.2017 в 10:12
RAN Дата: Воскресенье, 19.03.2017, 15:21 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Sub qq()
    Dim r As Range
    Set r = Range("A1").CurrentRegion
    r.Offset(, r.Columns.Count).Resize(, 1).FormulaR1C1 = "=SUM(RC[-6]:RC[-1])"
    r.Offset(, r.Columns.Count).Resize(, 1).Value = r.Offset(, r.Columns.Count).Resize(, 1).Value
    r.EntireColumn.Delete
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Sub qq()
    Dim r As Range
    Set r = Range("A1").CurrentRegion
    r.Offset(, r.Columns.Count).Resize(, 1).FormulaR1C1 = "=SUM(RC[-6]:RC[-1])"
    r.Offset(, r.Columns.Count).Resize(, 1).Value = r.Offset(, r.Columns.Count).Resize(, 1).Value
    r.EntireColumn.Delete
End Sub
[/vba]

Автор - RAN
Дата добавления - 19.03.2017 в 15:21
ant6729 Дата: Воскресенье, 19.03.2017, 18:08 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Блин....как бы да...с точки зрения конечного результата - да.
Мой код вообще тогда не нужен.

Хочу спросить...

А где в коде видно, что сумма будет проставляться в колонку G, как у Вас...? Или она ставится автоматически сразу после всего указанного диапазона суммирования?

И можно ли как-то используя выражение Shift:=xlToLeft таким образом, что сначала спрессовать обезнуленные значения не к первой колонке, а ко второй?
А потом дальше накинуть формулу суммы в первую колонку, а то, что останется справа сделать r.EntireColumn.Delete?

Как-то так..


Сообщение отредактировал ant6729 - Воскресенье, 19.03.2017, 18:11
 
Ответить
СообщениеБлин....как бы да...с точки зрения конечного результата - да.
Мой код вообще тогда не нужен.

Хочу спросить...

А где в коде видно, что сумма будет проставляться в колонку G, как у Вас...? Или она ставится автоматически сразу после всего указанного диапазона суммирования?

И можно ли как-то используя выражение Shift:=xlToLeft таким образом, что сначала спрессовать обезнуленные значения не к первой колонке, а ко второй?
А потом дальше накинуть формулу суммы в первую колонку, а то, что останется справа сделать r.EntireColumn.Delete?

Как-то так..

Автор - ant6729
Дата добавления - 19.03.2017 в 18:08
RAN Дата: Воскресенье, 19.03.2017, 18:29 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Или она ставится автоматически

да
И можно ли

простых путей не ищем? сначала выкрасить, потом выбросить? можно, конечно, делайте...

формулу в коде лучше исправить так
[vba]
Код
r.Offset(, r.Columns.Count).Resize(, 1).FormulaR1C1 = "=SUM(RC[-" & r.Columns.Count & "]:RC[-1])"
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Или она ставится автоматически

да
И можно ли

простых путей не ищем? сначала выкрасить, потом выбросить? можно, конечно, делайте...

формулу в коде лучше исправить так
[vba]
Код
r.Offset(, r.Columns.Count).Resize(, 1).FormulaR1C1 = "=SUM(RC[-" & r.Columns.Count & "]:RC[-1])"
[/vba]

Автор - RAN
Дата добавления - 19.03.2017 в 18:29
ant6729 Дата: Воскресенье, 19.03.2017, 19:00 | Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Да, не ищу...)

Думаю, так язык быстрее пойму

Спасибо Вам за подсказки)!
 
Ответить
СообщениеДа, не ищу...)

Думаю, так язык быстрее пойму

Спасибо Вам за подсказки)!

Автор - ant6729
Дата добавления - 19.03.2017 в 19:00
ant6729 Дата: Воскресенье, 19.03.2017, 19:16 | Сообщение № 9
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Подскажите ещё, а чем последняя формула лучше будет?
 
Ответить
СообщениеПодскажите ещё, а чем последняя формула лучше будет?

Автор - ant6729
Дата добавления - 19.03.2017 в 19:16
RAN Дата: Воскресенье, 19.03.2017, 19:30 | Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
удалите/добавьте столбец таблицы, увидите


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщениеудалите/добавьте столбец таблицы, увидите

Автор - RAN
Дата добавления - 19.03.2017 в 19:30
ant6729 Дата: Воскресенье, 19.03.2017, 19:41 | Сообщение № 11
Группа: Проверенные
Ранг: Ветеран
Сообщений: 533
Репутация: 2 ±
Замечаний: 40% ±

Excel 2010
Ок, спасибо!
 
Ответить
СообщениеОк, спасибо!

Автор - ant6729
Дата добавления - 19.03.2017 в 19:41
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Суммирование после удаления (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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