Wybierz wszystkie komórki programu Excel, które nie zawierają adresów e-mail


1

Używam programu Microsoft Excel 2010. Jak mogę wybrać wszystkie komórki, które nie są adresami e-mail? Chcę je usunąć i zachować tylko komórki, które sprawdzają poprawność adresów e-mail.


Niezła edycja, @Lord T. Nadeen, społeczność również poprawiła twoje pierwsze pytanie . Użyj tego jako informacji zwrotnej. Dzięki!
Arjan

Odpowiedzi:


4

Sprawdzanie poprawności adresów e-mail to czarna dziura. A nawet jeśli byłbyś w stanie określić tę ważność wiadomości e-mail, nadal nie będziesz wiedział, czy jest to działający adres e-mail, czy nawet adres e-mail tej osoby (mogły wpisać adres innej osoby).

Jeśli nadal chcesz wykonać podstawowy test składni, możesz przejść do VBA (może wymagać włączenia na karcie Deweloper na wstążce) i ustawić odwołanie do „Microsoft VBSript Regular Expressions 5.5”, utworzyć nowy moduł i wprowadzić ten kod (Nie jestem wprawny w RegEx, więc dostałem go od StackOverflow , możesz uzyskać inne RegEx na FightingForALostCause lub pełną dyskusję w Regular-Expressions ):

Public Function CheckEmailSyntax(ByVal Email As String) As Boolean
    Dim regex As RegExp
    Set regex = New RegExp
    regex.Pattern = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$"
    regex.IgnoreCase = True
    CheckEmailSyntax = regex.Test(Email)
End Function

Następnie w swoim projekcie wpisz coś takiego =CheckEmailSyntax(A1). Wróci TRUEza dobre i FALSEza złe. Posortuj obie kolumny według kolumny T / F i usuń kolumny FAŁSZ. Mam nadzieję że to pomoże.


2
Ładny. Ale na przykład, znak plusa jest obecnie dość często używany w adresach e-mail. Więc: uważaj na fałszywe negatywy, gdy używasz takiego prostego wyrażenia regularnego.
Arjan

@Arjan Bardzo prawdziwe. Dodałem linki do innych (być może lepszych?) Wyrażeń regularnych. Problem pozostaje taki, jak ostrzegałem, nadal nie wiesz, czy wszystkie „dobre” wiadomości e-mail są w użyciu, i to dla osoby, którą myślisz.
Ryan Clarke

2

To działało dla mnie:

  1. Przejdź do Edycja na wstążce głównej.
  2. Kliknij Znajdź i wybierz .
  3. Wpisz @ w Znajdowanie co: .
  4. Kliknij Znajdź wszystko .
  5. W wynikach naciśnij Ctrl+, Aaby wybrać całą grupę w wynikach.
  6. Kliknij Kopiuj na wstążce głównej.
  7. Wklej do nowej kolumny.

+1 te proste sztuczki są oszałamiające nawet po latach. Ok, ma kilka wad. Na przykład, co jeśli komórki nie-mailowe mają znak @. Lub chcesz, aby wszystkie komórki poczty były w jednej kolumnie docelowej. Ale to jest dobre.
nixda

-2

Używałbym funkcji Znajdź i wybierz / Sprawdzanie danych.

  • Na karcie Strona główna przejdź do grupy edycji.
  • Wybierz „Znajdź i wybierz”
  • Wybierz Idź do Special
  • Wybierz walidację danych
  • Wybierz opcję Same lub All
  • Kliknij OK

Komórki zawierające sprawdzanie poprawności danych zostaną podświetlone.


nie, nie chcę tego, nie chcę komórki, która zawiera sprawdzanie poprawności danych, chcę zaznaczyć wszystkie komórki, które nie pasują do wzorca wiadomości e-mail
Nadeem Khedr

-1 nie zajął się rzeczywistym pytaniem.
brettdj
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.