• 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.

Checken of tekst voorkomt in bereik middels Insrt function

Status
Niet open voor verdere reacties.

Jacob01

Gebruiker
Lid geworden
7 feb 2009
Berichten
65
Beste forummers,

Ik heb onderstaand stukje programma-code geschreven om te zorgen dat in iedere cel in de selectie gekeken wordt of het woordt "Shell" er in voorkomt.
Indien dat van toepassing is wordt er in de cel twee kolommen verder het getal 4712 ingevuld.

Zoals te zien gebruik ik hier de InStr-functie voor. Nu kan ik "Shell" ook vervangen door een cel-verwijzing dat lukt me. Echter wil ik niet checken of in "i" Shell voorkomt maar i.p.v. "i" checken in een gegevens bereik voorkomt. Bijvoorbeeld per "i" of deze in Range("a2:a10") voorkomt.

Dit werkte niet, weet iemand of dit op sowieso kan met de InStr-functie? Of op een andere wijze?

PHP:
For each i in Selection

If InStr(1, i, "Shell") > 0 Then
    i.Offset(0, -2) = 4712
    End If

Next i

Groeten!
 
Je zult dan twee loops moeten gebruiken? in principe is het niet heel veel anders.
 
Dank voor je reactie. Voor mij als relatieve leek is dit te hoog over :) Zou je iets concreter kunnen toelichten wat het is. Zodat amateurs als ik het ook begrijpen. :)0
 
Je tekst is wat verwarrend over wat de precieze oplossing is die je zoekt, maar beide interpretaties kunnen opgelost worden met 2 loops ;)

Indien je voor elke cell in een selectie op meerdere woorden wil zoeken (zoals gedefinieerd in a1:a10) wordt het zoiets:

Code:
For each i in Selection
   gevonden = false 
   for each tezoeken in [a1:a10]
      If InStr(1, i, tezoeken.value) > 0 Then
         gevonden = true
      End If
   next tezoeken
   if gevonden =  true then
      i.Offset(0, -2) = 4712
   end if
Next i

hiermee kun je in je opgegeven selectie naar meerdere woorden zoeken. Indien je een vaste selectie wil onderzoeken op de woorden die je hebt geselecteerd moet je de volgorde aanpassen.
 
Super, het werkt! Bedank!!
Kan dit trouwens niet op een hele andere wijze met bijvoorbeeld zoeken o.i.d.?

Bijvoorbeeld dat die voor each i in een bereik gaat zoeken of die in een ander bereik voorkomt en dan bepaalde handeling uitvoert? (met search of find functie oid)
 
In principe wel, maar persoonlijk zou ik het simpel houden. qua uitvoertijd en efficiency is dit al redelijk goed. Er zijn alternatieven maar die zou ik alleen overwegen bij andere omstandigheden. Intern doen zulke functies overigens vaak grotendeels hetzelfde (afgezien van hashing technieken die soms gebruikt worden)
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan