Musisz odfiltrować niektóre nazwiska z listy Wszystkich nazw


-1

Mam listę nazwisk.
Muszę oddzielić nazwy zawierające znaki g,j,p,q,y.
Nazwy mogą zaczynać się od, G,J,P,Q,Ytj. Znaków jako pierwszej litery. Ale znaki g, j, p, q, y nie powinny znajdować się w żadnej innej części nazwy.

Proszę pomóż mi.

Np .: trzeba odfiltrować nazwiska takie jak
Cathy, Deejay, Diego, Gray itp

Wyjątki:
Gina, Gracie, Jane, Priscilla itp


Twoje pytanie jest naprawdę niechlujne. Proszę wyjaśnić dla każdej nazwy, dlaczego należy ją wykluczyć / nie wykluczyć.
— Máté Juhász

jeśli zobaczysz imię Cathy, y jest na ostatniej pozycji. W Deejay j i y zajmują 4 i 6 pozycję. W Diego g jest na 4 pozycji, podobnie jak Gray, więc muszę odfiltrować takie nazwiska. W nazwach Gina Grace G zajmuje pierwszą pozycję. W Jane J jest na pierwszej pozycji, aw Priscilli P jest na pierwszej pozycji, dzięki czemu mogą być na liście. Mam listę ponad 60 tysięcy nazwisk.
— Preetam Reddy Pothala

Co to jest filtrowanie? Masz na myśli usunięcie? Czy to nazwa na komórkę? Czy w komórce jest tylko jedna nazwa?
— Dave

Mam na myśli skopiowanie ich na inny arkusz. Tak, jedna nazwa na komórkę.
— Preetam Reddy Pothala

Odpowiedzi:


0

Nie wiem, jak to robisz za pomocą formuły arkusza roboczego, ale ponieważ nie masz odpowiedzi, VBa to zrobi

Option Explicit
Sub WalkThePlank()

Dim column As String
column = "A"                      'Update this to ye starting col

Dim row As Integer
row = 1                             'Aye cap'an, this be your first row

Dim badLetters As String
badLetters = "gjpqy"               'piracy! Enter the scurvy seadog letters you don't want as a complete word

'don't touch below or be fed to the sharks

Do While Range(column & row).Value <> ""

    Dim name As String
    name = Range(column & row).Value

    Dim i As Integer
    For i = 0 To Len(badLetters)
        Dim c As String
        c = Mid(badLetters, i + 1, 1)
        If InStr(1, name, c) > 0 And c <> "" Then
            Range(column & row).Value = ""
            Exit For
        End If


    Next i

    row = row + 1

Loop    
End Sub

Jak dodać VBA w MS Office?

Pamiętaj, że nie ma funkcji cofania, więc najpierw zapisz kopię !!

Przed

wprowadź opis zdjęcia tutaj

Po

wprowadź opis zdjęcia tutaj

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.