Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Помогите пожалуйста написать Excel макрос на удаление строк / 4 сообщений из 4, страница 1 из 1
20.05.2010, 19:51
    #36640168
Anton--1978
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста написать Excel макрос на удаление строк
Помогите пожалуйста написать макрос. Мне нужно что бы из всех книг Excel удалялись все строки в которых первый столбец содержит МИ ( например МИ №1 или МИ №3 или МИ25), причем такие строки идут вперемешку с тем что надо оставить(а это все остальное).
Например

Х| A | B |
1| МИ 10 | 25 |
2| РФ | 100 |

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

Однако писать макросов я совсем не умею , вот что я на ваял

Sub MySub()

Dim x As Worksheet
Dim a As Integer
For Each x In ActiveWorkbook.Sheets
If Not x.Cells.Find(what:="МИ") Is Nothing Then
With x
a = CStr(x.Cells.Find(what:="МИ").Row)
.Rows(a & ":" & a).Delete Shift:=xlUp
End With
End If
Next x

End Sub

Само собой, не работает - вообще ничего не удаляет . Где я ошибся?
ПС в поиске смотрел, там есть похожие темы, но их макросы не совсем корректно отрабатывались. Возможно я смотрел не те темы, какую посмотреть?
...
Рейтинг: 0 / 0
20.05.2010, 22:30
    #36640371
Помогите пожалуйста написать Excel макрос на удаление строк
Anton--1978,
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim x As WorkSheet
Dim a As Long
For Each x In ActiveWorkbook.WorkSheets
    a = x.UsedRange.Row
    For a = x.UsedRange.Rows.Count + a -  1  To a Step - 1 
        If x.Cells(a, 1 ).Value2 Like "*МИ*" Then x.Rows(a).Delete
    Next a
Next x
...
Рейтинг: 0 / 0
21.05.2010, 12:39
    #36641250
Anton--1978
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста написать Excel макрос на удаление строк
Спасибо огромное этот макрос действительно работает, но на 25 листе не зависимо от положения листов он стопорится, причем непонятно почему
...
Рейтинг: 0 / 0
24.05.2010, 14:16
    #36645276
Djon Player
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите пожалуйста написать Excel макрос на удаление строк
Anton--1978,

У вас есть скрытый лист 1745-1755 и на нем куча ошибок вида #ССЫЛКА, ошибка возникает как раз на этом листе.
Помимо него так-же такой-же плохой скрытый лист 2530.
Надо либо удалить эти листы, либо модифицировать макрос, чтобы он не обрабатывал скрытые листы.
Например так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub test()
 Dim x As Worksheet
 Dim a As Long
 
 For Each x In ActiveWorkbook.Worksheets
  If x.Visible = xlSheetVisible Then
   a = x.UsedRange.Row
   For a = x.UsedRange.Rows.Count + a -  1  To a Step - 1 
   
    If x.Cells(a,  1 ).Value2 Like "*МИ*" Then x.Rows(a).Delete
   Next a
  End If
 Next x
End Sub
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Помогите пожалуйста написать Excel макрос на удаление строк / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]