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

Вход

Регистрация

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

 

= Мир MS Excel/ошибка в макросе удаления строк - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » ошибка в макросе удаления строк
ошибка в макросе удаления строк
Che79 Дата: Пятница, 05.04.2013, 17:40 | Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 306 ±
Замечаний: 0% ±

2013 Win, 365 Mac
Уважаемые знатоки VBA,
помогите, пожалуйста, видимо в пятницу вечером мозг совсем сварился)

В книге порядка 60 листов с таблицами с разным кол-вом строк (кол-во столбцов одинаково), под таблицами через одну пустую ячейку поясняющий текст.
Нужно этот текст удалить на всех листах (можно удалять как сами строки, так и просто текст, находящий в этих строках). Вручную делать лень...
Пытаюсь использовать что-то типа

[vba]
Код
Sub Tabliza()
Dim i&, sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
i = sh.Cells(Rows.Count, 1).End(xlUp).Row
sh.Range(i + 1 & ":" & i + 50).Delete
Next
End Sub
[/vba]

Что я делаю не так? Макрос отказывается работать..Вернее, он работает, но ничего не меняется на листах.
Очень признателен за помощь

[admin]Оформляйте коды соответствующими тегами![/admin]


Делай нормально и будет нормально!
 
Ответить
СообщениеУважаемые знатоки VBA,
помогите, пожалуйста, видимо в пятницу вечером мозг совсем сварился)

В книге порядка 60 листов с таблицами с разным кол-вом строк (кол-во столбцов одинаково), под таблицами через одну пустую ячейку поясняющий текст.
Нужно этот текст удалить на всех листах (можно удалять как сами строки, так и просто текст, находящий в этих строках). Вручную делать лень...
Пытаюсь использовать что-то типа

[vba]
Код
Sub Tabliza()
Dim i&, sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
i = sh.Cells(Rows.Count, 1).End(xlUp).Row
sh.Range(i + 1 & ":" & i + 50).Delete
Next
End Sub
[/vba]

Что я делаю не так? Макрос отказывается работать..Вернее, он работает, но ничего не меняется на листах.
Очень признателен за помощь

[admin]Оформляйте коды соответствующими тегами![/admin]

Автор - Che79
Дата добавления - 05.04.2013 в 17:40
Формуляр Дата: Пятница, 05.04.2013, 17:52 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Che79,
читайте правила.
Без примера можно долго гадать. angry

Попробуйте
[vba]
Код
For Each sh In ThisWorkbook.Worksheets  
sh.Cells(9999, 1).End(xlUp).EntireRow.Delete  
Next
[/vba]


Excel 2003 EN, 2013 EN
 
Ответить
СообщениеChe79,
читайте правила.
Без примера можно долго гадать. angry

Попробуйте
[vba]
Код
For Each sh In ThisWorkbook.Worksheets  
sh.Cells(9999, 1).End(xlUp).EntireRow.Delete  
Next
[/vba]

Автор - Формуляр
Дата добавления - 05.04.2013 в 17:52
Che79 Дата: Пятница, 05.04.2013, 18:01 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 306 ±
Замечаний: 0% ±

2013 Win, 365 Mac
сорри, пример во вложении. таблицы с числами вот такого формата. Текст "Данные верны" нужно удалить на всех листах.
К сообщению приложен файл: 9194847.xls (25.0 Kb)


Делай нормально и будет нормально!
 
Ответить
Сообщениесорри, пример во вложении. таблицы с числами вот такого формата. Текст "Данные верны" нужно удалить на всех листах.

Автор - Che79
Дата добавления - 05.04.2013 в 18:01
ikki Дата: Пятница, 05.04.2013, 18:26 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
[vba]
Код
For Each w In ActiveWorkbook.Worksheets
      w.Cells(w.Rows.Count, 1).End(xlUp).CurrentRegion.EntireRow.Delete
Next
[/vba]

пс. но если "поясняющего текста" после таблицы на каком-нибудь листе не окажется, то удалит саму таблицу.


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Пятница, 05.04.2013, 18:29
 
Ответить
Сообщение[vba]
Код
For Each w In ActiveWorkbook.Worksheets
      w.Cells(w.Rows.Count, 1).End(xlUp).CurrentRegion.EntireRow.Delete
Next
[/vba]

пс. но если "поясняющего текста" после таблицы на каком-нибудь листе не окажется, то удалит саму таблицу.

Автор - ikki
Дата добавления - 05.04.2013 в 18:26
Che79 Дата: Пятница, 05.04.2013, 18:46 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 306 ±
Замечаний: 0% ±

2013 Win, 365 Mac
спасибо за помощь, все работает!! Единственное, как быть если поясняющий текст может быть с пробелами , как на листах 1 и 3, а остальные листы - текст во всех строках (см. пример). В этом случае, макрос удаляет не все.
К сообщению приложен файл: _2.xls (26.5 Kb)


Делай нормально и будет нормально!
 
Ответить
Сообщениеспасибо за помощь, все работает!! Единственное, как быть если поясняющий текст может быть с пробелами , как на листах 1 и 3, а остальные листы - текст во всех строках (см. пример). В этом случае, макрос удаляет не все.

Автор - Che79
Дата добавления - 05.04.2013 в 18:46
nilem Дата: Пятница, 05.04.2013, 19:29 | Сообщение № 6
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
может что-то вроде этого
[vba]
Код
Sub ert()
Dim wsh As Worksheet
For Each wsh In ThisWorkbook.Worksheets
     With wsh.Range("A3").CurrentRegion
         Range(.Offset(.Rows.Count + 1), wsh.Cells.SpecialCells(11)).ClearContents
     End With
Next wsh
End Sub
[/vba]


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениеможет что-то вроде этого
[vba]
Код
Sub ert()
Dim wsh As Worksheet
For Each wsh In ThisWorkbook.Worksheets
     With wsh.Range("A3").CurrentRegion
         Range(.Offset(.Rows.Count + 1), wsh.Cells.SpecialCells(11)).ClearContents
     End With
Next wsh
End Sub
[/vba]

Автор - nilem
Дата добавления - 05.04.2013 в 19:29
Che79 Дата: Понедельник, 08.04.2013, 13:41 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1649
Репутация: 306 ±
Замечаний: 0% ±

2013 Win, 365 Mac
nilem, спасибо! как всегда, все работает, как часы!


Делай нормально и будет нормально!
 
Ответить
Сообщениеnilem, спасибо! как всегда, все работает, как часы!

Автор - Che79
Дата добавления - 08.04.2013 в 13:41
Мир MS Excel » Вопросы и решения » Вопросы по VBA » ошибка в макросе удаления строк
  • Страница 1 из 1
  • 1
Поиск:

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