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

Excel: controle op bepaalde waarde

  • Onderwerp starter Onderwerp starter slpe
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

slpe

Gebruiker
Lid geworden
9 feb 2012
Berichten
109
Beste lezers,

Ik zit met een probleempje waarbij ik moet weten of in een cel bepaalde leestekens voorkomen.

Stel:
In cel A1 staat "C & A"
In cel B1 wil ik aangeven of in cel a een van de leestekens & of ë of ü enz voorkomt. Deze lijst met voorwaarden zijn er een stuk of 20. Dus als één van deze leestekens in de cel voorkomt moet Excel dat aangeven.

Wie kan mij helpen, want ik zit nu al een paar uur te zoeken, maar ik cirkel steeds in rondjes.
 
Dat kan met een simpele functie in VBA:

Code:
Function ZoekTeken(ByVal Inhoud As String) As String
    Dim i As Integer, Teken As String
    ZoekTeken = ""
    For i = 1 To Len(Inhoud)
        Teken = Mid(Inhoud, i, 1)
        Select Case Teken
            Case "&", "ë", "ü"
            ZoekTeken = "Gevonden"
            Exit For
        End Select
    Next
End Function

Het rijtje waar nu de drie voorbeeld tekens in staan kun je zelf uitbreiden.
De functie plaats je in een module.
In B1 zet je dan =ZoekTeken(A1)
 
Laatst bewerkt:
Helemaal top, dat werkt!

Kleine vraag, Ik gebruik dit om een aantal controles uit te voeren. Dus naast dit nog 5. Als de controle goed is zet ik 0,00 in de cel en wanneer er een fout is 1,00
Op die manier kan ik controleren of de som van alle checks > 0 is en kan ik dan kijken wat er fout is.

Nu zet hij de tekst erin, kan ik dat zomaar wijzigen in


Code:
Function ZoekTeken(ByVal Inhoud As String) As String
    Dim i As Integer, teken As String
    ZoekTeken = "0"
    For i = 1 To Len(Inhoud)
        teken = Mid(Inhoud, i, 1)
        Select Case teken
            Case "&", "ë", "ü", "ö"
            ZoekTeken = "1"
            
        End Select
    Next
End Function
 
Dat kan en is maar een simpele wijziging in de code:
Code:
Function ZoekTeken(ByVal Inhoud As String) As Integer
    Dim i As Integer, Teken As String
    ZoekTeken = 0
    For i = 1 To Len(Inhoud)
        Teken = Mid(Inhoud, i, 1)
        Select Case Teken
            Case "&", "ë", "ü", "ö"
            ZoekTeken = 1
            Exit For
        End Select
    Next
End Function
 
Laatst bewerkt:
Beste Edmoor,

Onwijs bedankt voor je antwoord. Hij zet nu netjes een 1 neer als de waarde voldoet. In mijn Excel sheet ziet hij hem alleen nog niet als een getal dat wordt opgeteld.Is dat not ergens mee te geven?
 
Hoe bedoel je?
Je kunt onderaan het bereik toch gewoon een SOM over het bereik doen?
Als dat dan groter dan 0 is dan is kennelijk ergens een teken gevonden waarop je controleert.
Zet anders even een voorbeeld documentje neer.
 
Ik zie de fout al.
Je hebt niet alle wijzigingen in de macro gedaan.
Er staat nog:
Code:
Function ZoekTeken(ByVal Inhoud As String) As String
En dat moet zijn:
Code:
Function ZoekTeken(ByVal Inhoud As String) As Integer

Daarna de macro nogmaals uitvoeren.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan