Удаление данных после 45-ой строки. Изменение макроса.
DrMini
Дата: Четверг, 20.04.2017, 10:28 |
Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 1672
Репутация:
226
±
Замечаний:
0% ±
Excel LTSC 2024 RUS
Доброго времени суток. Уважаемые гуру подскажите пожалуйста, как подправить макрос и сделать так, что бы при нажатии на кнопку "Добавить статьи расходов" после строки 45 всё стиралось и заполнялось бы вновь. А в идеале при помощи одной кнопки "Добавить статьи расходов" после строки 45 (на всех листах (кроме РЕМОНТ, СВОДКА, ОТЧЁТ, АДРЕС )) всё стиралось и заполнялось вновь.
Доброго времени суток. Уважаемые гуру подскажите пожалуйста, как подправить макрос и сделать так, что бы при нажатии на кнопку "Добавить статьи расходов" после строки 45 всё стиралось и заполнялось бы вновь. А в идеале при помощи одной кнопки "Добавить статьи расходов" после строки 45 (на всех листах (кроме РЕМОНТ, СВОДКА, ОТЧЁТ, АДРЕС )) всё стиралось и заполнялось вновь. DrMini
Ответить
Сообщение Доброго времени суток. Уважаемые гуру подскажите пожалуйста, как подправить макрос и сделать так, что бы при нажатии на кнопку "Добавить статьи расходов" после строки 45 всё стиралось и заполнялось бы вновь. А в идеале при помощи одной кнопки "Добавить статьи расходов" после строки 45 (на всех листах (кроме РЕМОНТ, СВОДКА, ОТЧЁТ, АДРЕС )) всё стиралось и заполнялось вновь. Автор - DrMini Дата добавления - 20.04.2017 в 10:28
Wasilich
Дата: Четверг, 20.04.2017, 11:12 |
Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация:
326
±
Замечаний:
0% ±
2003
В макросе [vba][/vba] после строки [vba][/vba] добавьте строку [vba]Код
Range("A46:B1000").Clear
[/vba] При нажатии на кнопку "Добавить статьи расходов" сейчас используется один макрос, работающий с активным листом. Для того, что бы в идеале при помощи одной кнопки
сбросить данные сразу на все листы, надо писать макрос с перебором всех листов исключая листы РЕМОНТ, СВОДКА, ОТЧЁТ, АДРЕС
В макросе [vba][/vba] после строки [vba][/vba] добавьте строку [vba]Код
Range("A46:B1000").Clear
[/vba] При нажатии на кнопку "Добавить статьи расходов" сейчас используется один макрос, работающий с активным листом. Для того, что бы в идеале при помощи одной кнопки
сбросить данные сразу на все листы, надо писать макрос с перебором всех листов исключая листы РЕМОНТ, СВОДКА, ОТЧЁТ, АДРЕС
Wasilich
Сообщение отредактировал Wasilich - Четверг, 20.04.2017, 11:23
Ответить
Сообщение В макросе [vba][/vba] после строки [vba][/vba] добавьте строку [vba]Код
Range("A46:B1000").Clear
[/vba] При нажатии на кнопку "Добавить статьи расходов" сейчас используется один макрос, работающий с активным листом. Для того, что бы в идеале при помощи одной кнопки
сбросить данные сразу на все листы, надо писать макрос с перебором всех листов исключая листы РЕМОНТ, СВОДКА, ОТЧЁТ, АДРЕС
Автор - Wasilich Дата добавления - 20.04.2017 в 11:12
Wasilich
Дата: Четверг, 20.04.2017, 11:29 |
Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация:
326
±
Замечаний:
0% ±
2003
Модераторы, перенесите пож. тему в Вопросы по VBA.
Модераторы, перенесите пож. тему в Вопросы по VBA. Wasilich
Ответить
Сообщение Модераторы, перенесите пож. тему в Вопросы по VBA. Автор - Wasilich Дата добавления - 20.04.2017 в 11:29
DrMini
Дата: Четверг, 20.04.2017, 11:35 |
Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1672
Репутация:
226
±
Замечаний:
0% ±
Excel LTSC 2024 RUS
Код
Range("A46:B1000").Clear
После этого сбивается форматирование в ячейках (меняется шрифт на Arial и размер шрифта, выключка. После запятой появляются 4 цифры)
Код
Range("A46:B1000").Clear
После этого сбивается форматирование в ячейках (меняется шрифт на Arial и размер шрифта, выключка. После запятой появляются 4 цифры)DrMini
Сообщение отредактировал DrMini - Четверг, 20.04.2017, 11:36
Ответить
Сообщение Код
Range("A46:B1000").Clear
После этого сбивается форматирование в ячейках (меняется шрифт на Arial и размер шрифта, выключка. После запятой появляются 4 цифры)Автор - DrMini Дата добавления - 20.04.2017 в 11:35
_Boroda_
Дата: Четверг, 20.04.2017, 11:42 |
Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Тогда ClearContents
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Тогда ClearContents Автор - _Boroda_ Дата добавления - 20.04.2017 в 11:42
Wasilich
Дата: Четверг, 20.04.2017, 11:45 |
Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация:
326
±
Замечаний:
0% ±
2003
Тогда так [vba]Код
Range("A46:B1000").ClearContents Range("A46:B1000").Borders.LineStyle = xlNone
[/vba]
Тогда так [vba]Код
Range("A46:B1000").ClearContents Range("A46:B1000").Borders.LineStyle = xlNone
[/vba] Wasilich
Ответить
Сообщение Тогда так [vba]Код
Range("A46:B1000").ClearContents Range("A46:B1000").Borders.LineStyle = xlNone
[/vba] Автор - Wasilich Дата добавления - 20.04.2017 в 11:45
DrMini
Дата: Четверг, 20.04.2017, 11:49 |
Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1672
Репутация:
226
±
Замечаний:
0% ±
Excel LTSC 2024 RUS
Всё работает но, так, как количество строк на будущий год может быть меньше то остаются границы ячеек если информации меньше и их придётся удалять опять вручную.
Всё работает но, так, как количество строк на будущий год может быть меньше то остаются границы ячеек если информации меньше и их придётся удалять опять вручную.DrMini
Ответить
Сообщение Всё работает но, так, как количество строк на будущий год может быть меньше то остаются границы ячеек если информации меньше и их придётся удалять опять вручную.Автор - DrMini Дата добавления - 20.04.2017 в 11:49
DrMini
Дата: Четверг, 20.04.2017, 11:52 |
Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1672
Репутация:
226
±
Замечаний:
0% ±
Excel LTSC 2024 RUS
Да то, что надо. СПАСИБО!
Да то, что надо. СПАСИБО!DrMini
Ответить
Сообщение Да то, что надо. СПАСИБО!Автор - DrMini Дата добавления - 20.04.2017 в 11:52
DrMini
Дата: Четверг, 20.04.2017, 11:54 |
Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1672
Репутация:
226
±
Замечаний:
0% ±
Excel LTSC 2024 RUS
Wasilich , Может на досуге в перерывах между дачными делами напишите макрос с перебором всех листов? Ещё раз спасибо.
Wasilich , Может на досуге в перерывах между дачными делами напишите макрос с перебором всех листов? Ещё раз спасибо.DrMini
Ответить
Сообщение Wasilich , Может на досуге в перерывах между дачными делами напишите макрос с перебором всех листов? Ещё раз спасибо.Автор - DrMini Дата добавления - 20.04.2017 в 11:54
Wasilich
Дата: Четверг, 20.04.2017, 11:59 |
Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация:
326
±
Замечаний:
0% ±
2003
Может на досуге в перерывах
Может, я ж на форуме не один.
Может на досуге в перерывах
Может, я ж на форуме не один. Wasilich
Ответить
Сообщение Может на досуге в перерывах
Может, я ж на форуме не один. Автор - Wasilich Дата добавления - 20.04.2017 в 11:59
DrMini
Дата: Четверг, 20.04.2017, 12:02 |
Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1672
Репутация:
226
±
Замечаний:
0% ±
Excel LTSC 2024 RUS
Может, я ж на форуме не один.
Просто это Ваше детище. Вам и объяснять ничего не надо. Хотя я не откажусь от любой помощи. Спасибо что Вы есть.
Может, я ж на форуме не один.
Просто это Ваше детище. Вам и объяснять ничего не надо. Хотя я не откажусь от любой помощи. Спасибо что Вы есть.DrMini
Ответить
Сообщение Может, я ж на форуме не один.
Просто это Ваше детище. Вам и объяснять ничего не надо. Хотя я не откажусь от любой помощи. Спасибо что Вы есть.Автор - DrMini Дата добавления - 20.04.2017 в 12:02
_Boroda_
Дата: Четверг, 20.04.2017, 12:08 |
Сообщение № 12
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Вариант с копированием формата из строки 25 Ну и заодно и цикл по листам. Макрос отрабатывает в тех листах, где в ячейке А2 написано "ОТЧЕТ"
Вариант с копированием формата из строки 25 Ну и заодно и цикл по листам. Макрос отрабатывает в тех листах, где в ячейке А2 написано "ОТЧЕТ" _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Вариант с копированием формата из строки 25 Ну и заодно и цикл по листам. Макрос отрабатывает в тех листах, где в ячейке А2 написано "ОТЧЕТ" Автор - _Boroda_ Дата добавления - 20.04.2017 в 12:08
DrMini
Дата: Четверг, 20.04.2017, 13:14 |
Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 1672
Репутация:
226
±
Замечаний:
0% ±
Excel LTSC 2024 RUS
_Александр_ , макрос работает не так, как надо. Он начинает считать с первого листа и на каждом листе увеличивает числа на 2. А надо, что бы считал для каждого листа отдельно. Кнопку "Добавить статьи расходов" можно сделать одну. Ну например на листе "ОТЧЁТ" . А на всех остальных её убрать.
_Александр_ , макрос работает не так, как надо. Он начинает считать с первого листа и на каждом листе увеличивает числа на 2. А надо, что бы считал для каждого листа отдельно. Кнопку "Добавить статьи расходов" можно сделать одну. Ну например на листе "ОТЧЁТ" . А на всех остальных её убрать.DrMini
Ответить
Сообщение _Александр_ , макрос работает не так, как надо. Он начинает считать с первого листа и на каждом листе увеличивает числа на 2. А надо, что бы считал для каждого листа отдельно. Кнопку "Добавить статьи расходов" можно сделать одну. Ну например на листе "ОТЧЁТ" . А на всех остальных её убрать.Автор - DrMini Дата добавления - 20.04.2017 в 13:14
Wasilich
Дата: Четверг, 20.04.2017, 13:16 |
Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация:
326
±
Замечаний:
0% ±
2003
макрос с перебором всех листов
Это вроде как, другая тема.
макрос с перебором всех листов
Это вроде как, другая тема.Wasilich
Ответить
Сообщение макрос с перебором всех листов
Это вроде как, другая тема.Автор - Wasilich Дата добавления - 20.04.2017 в 13:16
DrMini
Дата: Четверг, 20.04.2017, 13:17 |
Сообщение № 15
Группа: Друзья
Ранг: Старожил
Сообщений: 1672
Репутация:
226
±
Замечаний:
0% ±
Excel LTSC 2024 RUS
Это вроде как, другая тема.
Прошу прощения. Сейчас создам.
Это вроде как, другая тема.
Прошу прощения. Сейчас создам.DrMini
Ответить
Сообщение Это вроде как, другая тема.
Прошу прощения. Сейчас создам.Автор - DrMini Дата добавления - 20.04.2017 в 13:17
_Boroda_
Дата: Четверг, 20.04.2017, 13:23 |
Сообщение № 16
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Михаил, ну конечно же я вообще не смотрел, как Ваш макрос работает. Просто добавил цикл по листам, удаление и форматирование. Сейчас посмотрите, так? А кнопку сделайте где хотите. Это вроде как, другая тема.
Почему? В самом первом посте как раз об этом и говорилось
Михаил, ну конечно же я вообще не смотрел, как Ваш макрос работает. Просто добавил цикл по листам, удаление и форматирование. Сейчас посмотрите, так? А кнопку сделайте где хотите. Это вроде как, другая тема.
Почему? В самом первом посте как раз об этом и говорилось _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Михаил, ну конечно же я вообще не смотрел, как Ваш макрос работает. Просто добавил цикл по листам, удаление и форматирование. Сейчас посмотрите, так? А кнопку сделайте где хотите. Это вроде как, другая тема.
Почему? В самом первом посте как раз об этом и говорилось Автор - _Boroda_ Дата добавления - 20.04.2017 в 13:23
DrMini
Дата: Четверг, 20.04.2017, 13:29 |
Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 1672
Репутация:
226
±
Замечаний:
0% ±
Excel LTSC 2024 RUS
Wasilich , Я даже создать другую тему не успел.
Wasilich , Я даже создать другую тему не успел.DrMini
Ответить
Сообщение Wasilich , Я даже создать другую тему не успел.Автор - DrMini Дата добавления - 20.04.2017 в 13:29
DrMini
Дата: Четверг, 20.04.2017, 13:29 |
Сообщение № 18
Группа: Друзья
Ранг: Старожил
Сообщений: 1672
Репутация:
226
±
Замечаний:
0% ±
Excel LTSC 2024 RUS
_Александр_ , Спасибо. Всё работает.
_Александр_ , Спасибо. Всё работает.DrMini
Ответить
Сообщение _Александр_ , Спасибо. Всё работает.Автор - DrMini Дата добавления - 20.04.2017 в 13:29
Wasilich
Дата: Четверг, 20.04.2017, 14:04 |
Сообщение № 19
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация:
326
±
Замечаний:
0% ±
2003
В самом первом посте как раз об этом и говорилось
Ну тогда вот и мой макрос. Посмотреть xlsb не могу.
[vba]
Код
Sub СтатьиРасходов() Dim ul$, nd, r&, n&, i&, it# Dim sh As Worksheet For Each sh In ThisWorkbook.Worksheets If sh.Name <> "Ремонт" And sh.Name <> "Сводка" And sh.Name <> "ОТЧЁТ" And sh.Name <> "Адрес" Then sh.Range("A46:B1000").ClearContents sh.Range("A46:B1000").Borders.LineStyle = xlNone ul = sh.Range("B1") nd = sh.Range("C1") r = sh.Range("A" & Rows.Count).End(xlUp).Row + 1 n = r For i = 3 To Range("B" & Rows.Count).End(xlUp).Row If Cells(i, "B") = ul And Cells(i, "C") = nd Then sh.Cells(r, "A") = Cells(i, "K") sh.Cells(r, "B") = Cells(i, "I") it = it + Cells(i, "I") r = r + 1 End If Next sh.Cells(r, "A") = "Итого расходов" sh.Cells(r, "B") = it: it = 0 sh.Range("A" & n & ":B" & r).Borders.Weight = xlThin End If Next End Sub
[/vba]
В самом первом посте как раз об этом и говорилось
Ну тогда вот и мой макрос. Посмотреть xlsb не могу.
[vba]
Код
Sub СтатьиРасходов() Dim ul$, nd, r&, n&, i&, it# Dim sh As Worksheet For Each sh In ThisWorkbook.Worksheets If sh.Name <> "Ремонт" And sh.Name <> "Сводка" And sh.Name <> "ОТЧЁТ" And sh.Name <> "Адрес" Then sh.Range("A46:B1000").ClearContents sh.Range("A46:B1000").Borders.LineStyle = xlNone ul = sh.Range("B1") nd = sh.Range("C1") r = sh.Range("A" & Rows.Count).End(xlUp).Row + 1 n = r For i = 3 To Range("B" & Rows.Count).End(xlUp).Row If Cells(i, "B") = ul And Cells(i, "C") = nd Then sh.Cells(r, "A") = Cells(i, "K") sh.Cells(r, "B") = Cells(i, "I") it = it + Cells(i, "I") r = r + 1 End If Next sh.Cells(r, "A") = "Итого расходов" sh.Cells(r, "B") = it: it = 0 sh.Range("A" & n & ":B" & r).Borders.Weight = xlThin End If Next End Sub
[/vba]
Wasilich
Сообщение отредактировал Wasilich - Четверг, 20.04.2017, 14:07
Ответить
Сообщение В самом первом посте как раз об этом и говорилось
Ну тогда вот и мой макрос. Посмотреть xlsb не могу.
[vba]
Код
Sub СтатьиРасходов() Dim ul$, nd, r&, n&, i&, it# Dim sh As Worksheet For Each sh In ThisWorkbook.Worksheets If sh.Name <> "Ремонт" And sh.Name <> "Сводка" And sh.Name <> "ОТЧЁТ" And sh.Name <> "Адрес" Then sh.Range("A46:B1000").ClearContents sh.Range("A46:B1000").Borders.LineStyle = xlNone ul = sh.Range("B1") nd = sh.Range("C1") r = sh.Range("A" & Rows.Count).End(xlUp).Row + 1 n = r For i = 3 To Range("B" & Rows.Count).End(xlUp).Row If Cells(i, "B") = ul And Cells(i, "C") = nd Then sh.Cells(r, "A") = Cells(i, "K") sh.Cells(r, "B") = Cells(i, "I") it = it + Cells(i, "I") r = r + 1 End If Next sh.Cells(r, "A") = "Итого расходов" sh.Cells(r, "B") = it: it = 0 sh.Range("A" & n & ":B" & r).Borders.Weight = xlThin End If Next End Sub
[/vba]
Автор - Wasilich Дата добавления - 20.04.2017 в 14:04
DrMini
Дата: Четверг, 20.04.2017, 15:29 |
Сообщение № 20
Группа: Друзья
Ранг: Старожил
Сообщений: 1672
Репутация:
226
±
Замечаний:
0% ±
Excel LTSC 2024 RUS
Ну тогда вот и мой макрос.
Работает быстро. Без мерцаний экрана. Плюс я оставил пересчёт на каждой странице в отдельности. ещё раз СПАСИБО. Это было гениально.
Ну тогда вот и мой макрос.
Работает быстро. Без мерцаний экрана. Плюс я оставил пересчёт на каждой странице в отдельности. ещё раз СПАСИБО. Это было гениально.DrMini
Сообщение отредактировал DrMini - Четверг, 20.04.2017, 15:29
Ответить
Сообщение Ну тогда вот и мой макрос.
Работает быстро. Без мерцаний экрана. Плюс я оставил пересчёт на каждой странице в отдельности. ещё раз СПАСИБО. Это было гениально.Автор - DrMini Дата добавления - 20.04.2017 в 15:29