• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

meerdere onafhankelijke cellen zoeken en vervangen

Status
Niet open voor verdere reacties.

Gust1977

Gebruiker
Lid geworden
8 nov 2007
Berichten
70
Wij willen met onze vereniging onze database optimaliseren, dat is al jaren niet meer gebeurd en bevat een 500-tal adresgegevens. Telkens als we een email sturen naar 500 leden of oud-leden, zijn er daar een 200-tal van bounced.

Nu wil ik via excel een 'search' doen, waarbij je alle emails kunt ingeven, waarbij excel dan de rijen toont (en liefst markeert) waar die emailadressen in voorkomen, zodat ik dit kan verwijderen. Hier ben ik tot nu toe nog niet in geslaagd.

Iemand een idee?
 
Lastig om zonder voorbeeld hierover iets te roepen. Hoe wil je tot de 'search'-groep komen? Als je deze in een kolom zet dan is de rest m.i. niet zo moeilijk. Dan kun je met conditional formatting o.i.d. regels markeren waar één van de e-mailadressen voorkomt.
 
In werkelijkheid gaat het natuurlijk om meerdere adressen.

In bijlage een adressenlijst met 10 adressen. Stel dat ik het emailadres naam2@hotmail.com en naam7@hotmail.com en naam9@hotmail.com wil zoeken.

lidnr naam email postcode gemeente
1 voornaam achternaam 1 naam1@hotmail.com 1000 Brussel
2 voornaam achternaam 2 naam2@hotmail.com 1000 Brussel
3 voornaam achternaam 3 naam3@hotmail.com 1000 Brussel
4 voornaam achternaam 4 naam4@hotmail.com 1000 Brussel
5 voornaam achternaam 5 naam5@hotmail.com 1000 Brussel
6 voornaam achternaam 6 naam6@hotmail.com 1000 Brussel
7 voornaam achternaam 7 naam7@hotmail.com 1000 Brussel
8 voornaam achternaam 8 naam8@hotmail.com 1000 Brussel
9 voornaam achternaam 9 naam9@hotmail.com 1000 Brussel
10 voornaam achternaam 10 naam10@hotmail.com 1000 Brussel
 

Bijlagen

  • adressenlijst.xlsx
    9,7 KB · Weergaven: 45
Met een macrootje.
In kolom F komt "Ja" te staan indien aanwezig.
Zo kan je makkelijk filteren op "Ja".
 

Bijlagen

  • adressenlijst.xlsb
    15 KB · Weergaven: 41
Bedankt HSV

Ik ben een absolute noob. Zou je mij aub stap voor stap kunnen uitleggen hoe je met die macro tot dat resultaat komt? Eigenlijk wil ik niet dat de emailadressen rechts verschijnen, maar is het eerder de bedoeling dat de hele regel - waar het emailadres in voorkomt - overblijft. Is dat mogelijk?
 
Die e-mailadressen zijn de adressen die je zoekt (zelf even inkloppen in kolom J).

Dan filter je op leeg, selecteert het bereik wat overgebleven is na filtering en drukt op delete.
Als dit is wat je graag wilt, kan alles uiteraard ook in de macro verwerkt worden.

Kijk eerst maar eens of dit de bedoeling is.
 
Is hier niet het geavanceerde filter niet voor uitgevonden? Kan je alle kanten mee op ook zonder VBA.

Code:
Sub VenA()
  Cells(1).CurrentRegion.AdvancedFilter xlFilterInPlace, Range("J1").Resize(Cells(Rows.Count, 10).End(xlUp).Row)
End Sub
 
Dat was plan B.
Code:
Sub hsv_2()
  Cells(1).CurrentRegion.AdvancedFilter 1, Cells(1, 10).CurrentRegion
End Sub
 
Bedankt beiden, maar ik weet niet of ik wel duidelijk was en of jullie voorstellen zouden lukken. Misschien daarom even schetsen:

Ik verstuur de emails (met de adres-eigenschappen) via mailchimp. Mailchimp geeft altijd de bounced emails mooi weer en die kun je in een CSV-bestand mooi weergeven. Maar deze keer stuurde ik een mail, zonder de rest van de adresgegevens. Dus van een extern bestand met emailadressen moet ik tot nu toe het volgende doen:

- kopieer een emailadres uit de bounced emails
- ga naar je oorspronkelijke adressenlijst met datagegevens (excel)
- open daar de zoekfunctie met ctrl-f
- plak er het emailadres in, en klik op 'zoek'
- markeer het gevonden emailadres in de adressenlijst in het geel.

Omdat dat zo een monikkenwerk is, zoek ik dus een snellere oplossing.
 
Zet in cel J1 "email"; zonder de dubbele quotes.
Plak in J2 en verder naar onderen de mailadressen.
Laat de code lopen.
Code:
Sub hsv_2()
  With Cells(1).CurrentRegion
   .AdvancedFilter 1, Cells(1, 10).CurrentRegion
   .Offset(1).SpecialCells(2).Interior.Color = vbYellow
   .parent.showalldata
  End With
 End Sub
 
Laatst bewerkt:
Bedankt, maar hoe moet ik zo een code laten lopen? Moet ik die hele code ergens in een cel plakken?
 
Druk ALT+F11 → Invoegen module, en plak de code in het witte vlak → Alt+Q.
Om de code te laten lopen druk Alt+F8 → uitvoeren, of hang de code aan een knop.
 
Zet in cel J1 "email"; zonder de dubbele quotes.
Plak in J2 en verder naar onderen de mailadressen.
Laat de code lopen.
Code:
Sub hsv_2()
  With Cells(1).CurrentRegion
   .AdvancedFilter 1, Cells(1, 10).CurrentRegion
   .Offset(1).SpecialCells(2).Interior.Color = vbYellow
   .parent.showalldata
  End With
 End Sub

Bij het voorbeeld werkte deze code, maar bij het lopen van mijn echte sheet krijg ik telkens een foutmelding.

- het excelbestand telt tot kolom K en heeft meer dan 500 rijen
- ik neem aan dat ik in kolom L de pakweg 50 emailadressen onder elkaar moet zetten?
- Pas vanaf regel 2 beginnen de data (want regel 1 geven nog titels weer)
- met dus als code het volgende?
Code:
Sub hsv_2()
  With Cells(1).CurrentRegion
   .AdvancedFilter 1, Cells(2, 500).CurrentRegion
   .Offset(1).SpecialCells(2).Interior.Color = vbYellow
   .parent.showalldata
  End With
 End Sub

Maar ik krijg telkens een foutmelding, en ook wordt ALLES in het geel aangeduid.
 
Zet de mailadressen in kolom N.
'email' in N1 en de mailadressen daaronder.

Code:
.AdvancedFilter 1, Cells(1, 14).CurrentRegion

14 = kolom 14 = kolom N.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan