Zoeken naar fragment inhoud cellen

Status
Niet open voor verdere reacties.

conceal

Gebruiker
Lid geworden
29 mrt 2007
Berichten
73
Hallo,

Het is inmiddels een tijdje geleden dat ik VBA op deze manier gebruikt heb, maar ik probeer het volgende te doen:

Stel ik heb in kolom allerlei namen van steden.
Amsterdam
Aalsmeer
Utrecht
Rotterdam
Maastricht
Groningen
Eindhoven
Scheveningen
Lelystad
Arnhem

Ik wil nu bijvoorbeeld alle steden waar de letter a in voorkomt. Ik dacht aan code als:

Code:
for i = 1 to 100 do
  if sheets("Blad1").cells(i,1) = "*a*" then
    sheets("Blad1").cells(i,2) = sheets("Blad1").cells(i,1)
  end if
next i

Het stuk "*a*" werkt niet. Dit werkt wel in Access, maar niet in Excel. Ik heb nu al de hele tijd zitten zoeken, maar kom helemaal niet verder. Weet iemand alsjeblieft het antwoord... dit moet toch gewoon kunnen? Wat is het teken wat je kunt gebruiken als joker?

Alvast bedankt!
 
VBA

Columns(1).AutoFilter 1, "=*a*"

met de hand: menubalk/data/filter/autofilter
 
Columns(1).AutoFilter 1, "=*a*" levert een autofilter, maar dit is niet wat ik zoek. Ik wil juist dat VBA zelf naar de inhoud van de cell kijkt en dan kijkt of de een stuk tekst erin voorkomt. Als dat zo is, dan volgt een vervolg-actie.

Momenteel ben ik aan het kijken of ik iets met een string kan. Wellicht dat ik voor de if-lus een string kan vullen met de cel in de rij waar ik in de loop zit en zo kan controleren of de string het stuk tekst bevat...

Ideeën zijn alsnog welkom!
 
Als je niets vertelt over de vervolgaktie wordt het koffiedik kijken. Er zijn teveel verschillende methodes om dit te realiseren. Afhankelijk van het vervolg is de ene methode beter dan de andere. Hoe reëler je vraag, hoe effektiever het antwoord.
 
Hallo Snb,

Mijn excuses bij deze voor de onduidelijke vraagstelling. In de code was het de bedoeling dat als er een foutmelding is in een bepaalde cel, dat er dan een vervolgbereking plaats vindt. De foutmeldingen kunnen echter onderling verschillen, soms staat er tekstueel wat meer in dan bij andere. Een fragment van de foutmelding is echter altijd hetzelfde. In elke rij waar deze foutmelding staat (of beter gezegd: waar dit fragment in de foutmelding staat), dient er een cel in die rij een waarde te krijgen, voor alle andere gevallen een andere waarde.

Ik heb een oplossing gevonden die vooralsnog werkt. Wellicht dat er betere mogelijkheden zijn(?). In het kort komt het op het volgende neer:

Code:
for i = 1 to 100 do
    totaal = Sheets("Totale lijst").Cells(i, 15)
    stuk = "Fragment"
    If InStr(1, totaal, stuk, vbTextCompare) < 1 Then
    sheets("Totale lijst").cells(i,2) = sheets("Blad1").cells(i,1)
    end if
next i

Ik wil je bij deze toch bedanken voor je tijd en hulp!

Groeten,
Conceal
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan