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

Вход

Регистрация

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

 

= Мир MS Excel/Как удалить ячейки где нет электронного адреса: - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как удалить ячейки где нет электронного адреса:
Как удалить ячейки где нет электронного адреса:
Tolik82 Дата: Понедельник, 20.08.2012, 12:05 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 0% ±

Привет всем, подскажите пожалуйста, есть лист экселевский на листе в одной из ячеек есть адрес эл. почты. Проблема в том что эти ячейки идут вразноброс:
например А1, В5, С3, D5 и т.д

Можно ли как удалить все ячейки не содержащие знак собаки? туплю чето ....
 
Ответить
СообщениеПривет всем, подскажите пожалуйста, есть лист экселевский на листе в одной из ячеек есть адрес эл. почты. Проблема в том что эти ячейки идут вразноброс:
например А1, В5, С3, D5 и т.д

Можно ли как удалить все ячейки не содержащие знак собаки? туплю чето ....

Автор - Tolik82
Дата добавления - 20.08.2012 в 12:05
KuklP Дата: Понедельник, 20.08.2012, 12:23 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Макросом можно, для выделения:
[vba]
Code
Public Sub www()
      Dim c As Range
      For Each c In Selection
          If Not c Like "*@*" Then c.Delete xlUp
      Next
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Понедельник, 20.08.2012, 12:27
 
Ответить
СообщениеМакросом можно, для выделения:
[vba]
Code
Public Sub www()
      Dim c As Range
      For Each c In Selection
          If Not c Like "*@*" Then c.Delete xlUp
      Next
End Sub
[/vba]

Автор - KuklP
Дата добавления - 20.08.2012 в 12:23
Hugo Дата: Понедельник, 20.08.2012, 12:36 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
Сергей, так не пойдёт sad
Вернее пойдёт, но запускать нужно до упора много раз....

А в таком варианте хватит одного:
[vba]
Code
Public Sub wwww()
      Dim i&
      For i = Selection.Cells.Count To 1 Step -1
          If Not Selection(i) Like "*@*" Then Selection(i).Delete xlUp
      Next
End Sub
[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеСергей, так не пойдёт sad
Вернее пойдёт, но запускать нужно до упора много раз....

А в таком варианте хватит одного:
[vba]
Code
Public Sub wwww()
      Dim i&
      For i = Selection.Cells.Count To 1 Step -1
          If Not Selection(i) Like "*@*" Then Selection(i).Delete xlUp
      Next
End Sub
[/vba]

Автор - Hugo
Дата добавления - 20.08.2012 в 12:36
Tolik82 Дата: Понедельник, 20.08.2012, 12:41 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 0% ±

выделил лист, запустил макрос выдал RunTime Everflow


Сообщение отредактировал Tolik82 - Понедельник, 20.08.2012, 12:45
 
Ответить
Сообщениевыделил лист, запустил макрос выдал RunTime Everflow

Автор - Tolik82
Дата добавления - 20.08.2012 в 12:41
Hugo Дата: Понедельник, 20.08.2012, 12:44 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
А так?
[vba]
Code
Public Sub wwww()
     Dim i&

     With Application
         .Calculation = xlCalculationManual
         .EnableEvents = False
         .ScreenUpdating = False
     End With

     For i = Selection.Cells.Count To 1 Step -1
         If Not Selection(i) Like "*@*" Then Selection(i).Delete xlUp
     Next

     With Application
         .Calculation = xlCalculationAutomatic
         .EnableEvents = True
         .ScreenUpdating = True
     End With

End Sub

[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеА так?
[vba]
Code
Public Sub wwww()
     Dim i&

     With Application
         .Calculation = xlCalculationManual
         .EnableEvents = False
         .ScreenUpdating = False
     End With

     For i = Selection.Cells.Count To 1 Step -1
         If Not Selection(i) Like "*@*" Then Selection(i).Delete xlUp
     Next

     With Application
         .Calculation = xlCalculationAutomatic
         .EnableEvents = True
         .ScreenUpdating = True
     End With

End Sub

[/vba]

Автор - Hugo
Дата добавления - 20.08.2012 в 12:44
Tolik82 Дата: Понедельник, 20.08.2012, 12:48 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 0% ±

не робит sad
выделяю лист запускаю и ран тайм еррор 6: оверфлоу
 
Ответить
Сообщениене робит sad
выделяю лист запускаю и ран тайм еррор 6: оверфлоу

Автор - Tolik82
Дата добавления - 20.08.2012 в 12:48
Hugo Дата: Понедельник, 20.08.2012, 12:52 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
Вероятно выделяете весь лист, а файл xlsx?


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеВероятно выделяете весь лист, а файл xlsx?

Автор - Hugo
Дата добавления - 20.08.2012 в 12:52
Tolik82 Дата: Понедельник, 20.08.2012, 12:55 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 0% ±

Quote (Hugo)
Вероятно выделяете весь лист, а файл xlsx?


да! а нужно xls и в офисе 2003 запускать?
 
Ответить
Сообщение
Quote (Hugo)
Вероятно выделяете весь лист, а файл xlsx?


да! а нужно xls и в офисе 2003 запускать?

Автор - Tolik82
Дата добавления - 20.08.2012 в 12:55
Hugo Дата: Понедельник, 20.08.2012, 13:03 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
Нет - просто не нужно было выделять всё (в xlsx даёт ошибку, а в xls просто очень долго работает).
Теперь можно и всё:

[vba]
Code
Public Sub wwww()
       Dim r As Range, i&

       With Application
           .Calculation = xlCalculationManual
           .EnableEvents = False
           .ScreenUpdating = False
       End With

       Set r = Intersect(ActiveSheet.UsedRange, Selection)

       For i = r.Cells.Count To 1 Step -1
           If Not r(i) Like "*@*" Then r(i).Delete xlUp
       Next

       With Application
           .Calculation = xlCalculationAutomatic
           .EnableEvents = True
           .ScreenUpdating = True
       End With

End Sub
[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеНет - просто не нужно было выделять всё (в xlsx даёт ошибку, а в xls просто очень долго работает).
Теперь можно и всё:

[vba]
Code
Public Sub wwww()
       Dim r As Range, i&

       With Application
           .Calculation = xlCalculationManual
           .EnableEvents = False
           .ScreenUpdating = False
       End With

       Set r = Intersect(ActiveSheet.UsedRange, Selection)

       For i = r.Cells.Count To 1 Step -1
           If Not r(i) Like "*@*" Then r(i).Delete xlUp
       Next

       With Application
           .Calculation = xlCalculationAutomatic
           .EnableEvents = True
           .ScreenUpdating = True
       End With

End Sub
[/vba]

Автор - Hugo
Дата добавления - 20.08.2012 в 13:03
Tolik82 Дата: Понедельник, 20.08.2012, 13:05 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 28
Репутация: 0 ±
Замечаний: 0% ±

Quote (Hugo)
Public Sub wwww()
    Dim r As Range, i&

    With Application
        .Calculation = xlCalculationManual
        .EnableEvents = False
        .ScreenUpdating = False
    End With

    Set r = Intersect(ActiveSheet.UsedRange, Selection)

    For i = r.Cells.Count To 1 Step -1
        If Not r(i) Like "*@*" Then r(i).Delete xlUp
    Next

    With Application
        .Calculation = xlCalculationAutomatic
        .EnableEvents = True
        .ScreenUpdating = True
    End With

End Sub


спасибо! То что нужно!
 
Ответить
Сообщение
Quote (Hugo)
Public Sub wwww()
    Dim r As Range, i&

    With Application
        .Calculation = xlCalculationManual
        .EnableEvents = False
        .ScreenUpdating = False
    End With

    Set r = Intersect(ActiveSheet.UsedRange, Selection)

    For i = r.Cells.Count To 1 Step -1
        If Not r(i) Like "*@*" Then r(i).Delete xlUp
    Next

    With Application
        .Calculation = xlCalculationAutomatic
        .EnableEvents = True
        .ScreenUpdating = True
    End With

End Sub


спасибо! То что нужно!

Автор - Tolik82
Дата добавления - 20.08.2012 в 13:05
KuklP Дата: Понедельник, 20.08.2012, 13:16 | Сообщение № 11
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Какой пример... Мне что ли рисовать?:-)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеКакой пример... Мне что ли рисовать?:-)

Автор - KuklP
Дата добавления - 20.08.2012 в 13:16
KuklP Дата: Понедельник, 20.08.2012, 14:13 | Сообщение № 12
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Вариант, был занят:
[vba]
Code
Public Sub www()
       Dim c As Range
       For Each c In Selection
           If Not c Like "*@*" Then c.clearcontents
       Next
       selection.specialcells(4).delete xlup
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеВариант, был занят:
[vba]
Code
Public Sub www()
       Dim c As Range
       For Each c In Selection
           If Not c Like "*@*" Then c.clearcontents
       Next
       selection.specialcells(4).delete xlup
End Sub
[/vba]

Автор - KuklP
Дата добавления - 20.08.2012 в 14:13
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как удалить ячейки где нет электронного адреса:
  • Страница 1 из 1
  • 1
Поиск:

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