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

Вход

Регистрация

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

 

= Мир MS Excel/Удаление строк в Excel макросом - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удаление строк в Excel макросом (Макросы/Sub)
Удаление строк в Excel макросом
MarkoYura Дата: Среда, 07.05.2014, 14:20 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

2010
Всем привет
Помогите исправить код, при удалении строк в Excel листе - макрос сбивается со счета и неправильно удаляет строки.
Пример части кода в приложении.
Заранее спасибо

Марко Юрий.
К сообщению приложен файл: Combinatore_.xlsb (18.6 Kb)
 
Ответить
СообщениеВсем привет
Помогите исправить код, при удалении строк в Excel листе - макрос сбивается со счета и неправильно удаляет строки.
Пример части кода в приложении.
Заранее спасибо

Марко Юрий.

Автор - MarkoYura
Дата добавления - 07.05.2014 в 14:20
Alex_ST Дата: Среда, 07.05.2014, 14:29 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Файлы с макросами с работы скачать не могу.
На вскидку: строки обычно удаляются макросами в цикле начиная с нижней. Если начать с верхней, то цикл сбивается, т.к. строки перемещаются и меняют свои номера.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Среда, 07.05.2014, 14:40
 
Ответить
СообщениеФайлы с макросами с работы скачать не могу.
На вскидку: строки обычно удаляются макросами в цикле начиная с нижней. Если начать с верхней, то цикл сбивается, т.к. строки перемещаются и меняют свои номера.

Автор - Alex_ST
Дата добавления - 07.05.2014 в 14:29
DJ_Marker_MC Дата: Среда, 07.05.2014, 14:34 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
Замените эту строку
[vba]
Код
For x1 = 4 To 110
[/vba]
на эту
[vba]
Код
For x1 = 110 To 4 Step -1
[/vba]


Сообщение отредактировал DJ_Marker_MC - Среда, 07.05.2014, 14:34
 
Ответить
СообщениеЗамените эту строку
[vba]
Код
For x1 = 4 To 110
[/vba]
на эту
[vba]
Код
For x1 = 110 To 4 Step -1
[/vba]

Автор - DJ_Marker_MC
Дата добавления - 07.05.2014 в 14:34
Alex_ST Дата: Среда, 07.05.2014, 14:40 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Ага! Я, похоже, угадал на файл не глядя? :)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеАга! Я, похоже, угадал на файл не глядя? :)

Автор - Alex_ST
Дата добавления - 07.05.2014 в 14:40
MarkoYura Дата: Среда, 07.05.2014, 14:40 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

2010
ДА ты прав,
это же гениально просто, и как я сам до такого не додумался.
Спасибо.
 
Ответить
СообщениеДА ты прав,
это же гениально просто, и как я сам до такого не додумался.
Спасибо.

Автор - MarkoYura
Дата добавления - 07.05.2014 в 14:40
DJ_Marker_MC Дата: Среда, 07.05.2014, 14:50 | Сообщение № 6
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
Да Алексей, так и было)))
 
Ответить
СообщениеДа Алексей, так и было)))

Автор - DJ_Marker_MC
Дата добавления - 07.05.2014 в 14:50
_Boroda_ Дата: Среда, 07.05.2014, 22:45 | Сообщение № 7
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
MarkoYura, Еще добавочка небольшая - если Вы макросом что-то изменяете на листе, то и для скорости работы, и для красоты (отсутствия "моргания") обычно очень помогает вначале макроса написать Application.ScreenUpdating = False
, а в окончании
Application.ScreenUpdating = True
Т.е., мы отключаем обновление экрана на время выполнения макроса, а потом включаем обратно


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеMarkoYura, Еще добавочка небольшая - если Вы макросом что-то изменяете на листе, то и для скорости работы, и для красоты (отсутствия "моргания") обычно очень помогает вначале макроса написать Application.ScreenUpdating = False
, а в окончании
Application.ScreenUpdating = True
Т.е., мы отключаем обновление экрана на время выполнения макроса, а потом включаем обратно

Автор - _Boroda_
Дата добавления - 07.05.2014 в 22:45
Alex_ST Дата: Четверг, 08.05.2014, 18:49 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
а в окончании
Application.ScreenUpdating = True

Как меня тут умыл наш общий усато-полосатый мяукающий друг :) , при выходе из процедуры включать обновление экрана, оказывается, нет необходимости. Оно само включается.
Сам сначала не поверил, а потом проверил … Прав усатый! Наверное, из настроек листа автоматом подхватывается.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
а в окончании
Application.ScreenUpdating = True

Как меня тут умыл наш общий усато-полосатый мяукающий друг :) , при выходе из процедуры включать обновление экрана, оказывается, нет необходимости. Оно само включается.
Сам сначала не поверил, а потом проверил … Прав усатый! Наверное, из настроек листа автоматом подхватывается.

Автор - Alex_ST
Дата добавления - 08.05.2014 в 18:49
MarkoYura Дата: Понедельник, 12.05.2014, 20:44 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 17
Репутация: 0 ±
Замечаний: 0% ±

2010
Спасибо, буду пользоваться вашими советами.
 
Ответить
СообщениеСпасибо, буду пользоваться вашими советами.

Автор - MarkoYura
Дата добавления - 12.05.2014 в 20:44
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Удаление строк в Excel макросом (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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