VBA programmeren

Status
Niet open voor verdere reacties.

Maud1984

Gebruiker
Lid geworden
14 apr 2020
Berichten
5
Hoi,

ik ben bezig met een opdracht om te leren programmeren in VBA in Excel.
De opdracht luidt als volgt:
Waar komt de letterx als eerste voor?
woord: Testen
letterx: e
positie:

Je weet niet vooraf welk woord ingegeven wordt
Indien de letter meerdere keren voorkomt, dien je je enkel te concentreren op de eerste plaats.
De opgegeven letter kan ook helemaal niet voorkomen en dan moet er bij de positie "0" weergegeven worden

Ik heb nu als code:
Function plaats(strWoord As String, strLetterx As String) As Integer

Dim intteller As Integer

strLetterx = ""
intteller = 0

If strLetterx = "" Then
intteller = intteller + 1
strLetterx = Mid(strWoord, intteller, 1)
plaats = intteller
Else
plaats = 0
End If


End Function

Maar dit werkt helemaal niet. Ik weet dat ik eerst moet checken of de letter in het woord voor komt en zo ja dan moet de teller gaan tellen.

Wie kan mij helpen? Alvast bedankt!! Groetjes, Maud
 
Na 3 uur proberen dacht ik, ik zal eens advies vragen :)
Ik moet mijn eigen functie gaan maken, anders had ik het al met vind.spec kunnen oplossen.
 
Maar heb je nu gezien hoe het moet?
Anders wil ik best verder helpen uiteraard.
 
Ik moet het woord plaatsen en daarin de letter zoeken. Maar heel veel verder kom ik nu niet. Denk dat ik kokerzicht op dit moment heb, omdat ik gisteren en vandaag continu uit kom op if en else en verder niets zie.
 
Ok.
Deze functie is voldoende:
Code:
Function LetterPos(Woord As String, Letter As String) As Integer
    LetterPos = InStr(1, Woord, Letter)
End Function

Toegepast in dit voorbeeld:
Bekijk bijlage LetterPos.xlsm

In C2, C3 en C4.
 
Tsja, dat heb je er niet bij verteld.
Code:
Function LetterPos(Woord As String, Letter As String) As Integer
    For i = 1 To Len(Woord)
        If Mid(Woord, i, 1) = Letter Then
            LetterPos = i
            Exit Function
        End If
    Next i
End Function
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan