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

VBA variabele werkt niet goed

Status
Niet open voor verdere reacties.

PolBE

Gebruiker
Lid geworden
12 okt 2016
Berichten
53
Beste forum

Nog enkele probleempjes waar ik tegen aan loop. Deze code loopt goed op een paar dingen na.

1° als ik onderaan de code Me.txtZoekwaardeNum.Value = " " wil vervangen door Zoekwaarde1=" " wordt de waarde niet gewist (echter op de eerste regel (If) werkt dit wel).
2° onderaan de code Me.txtZoekwaardeNum.SetFocus werkt ook niet, focus gaat naar volgende tap
3° als de opzoeking mislukt komt er een msgbox. Geen probleem maar als je nadien een juiste waarde ingeeft blijft de msgbox zich herhalen

Wat is hier fout aan? Waar zie ik het mis?
Hartelijk dank

PS: "H5_ZoekOpNum" verwijst naar een 'named range' in een sheet. Deze heb ik elders ook nodig maar werkt verder perfect

Code:
Private Sub cmdZoekOpNum_Click()
Dim Zoekwaarde1 As String
Zoekwaarde1 = Me.txtZoekwaardeNum.Value

If Not Range("H5_ZoekOpNum").Find(Zoekwaarde1) Is Nothing Then
    Range("H5_ZoekOpNum").Find(Zoekwaarde1).Select
    Me.txtCursistCode = ActiveCell.Cells(, 0).Value
    Me.txtCursistNum = ActiveCell.Cells(, 1).Value
        Me.txtCursistNum.Value = Format(txtCursistNum.Value, "0000")
    Me.txtVoornaam = ActiveCell.Cells(, 4).Value
    Me.txtFamilienaam = ActiveCell.Cells(, 5).Value
Else
    MsgBox "Waarde komt niet voor in range"
    Me.txtZoekwaardeNum.Value = " "   '(Zoekwaarde1 = " ") werkt niet
    Me.txtZoekwaardeNum.SetFocus      '(werkt niet, ook niet op de manier hoe het er staat)
End If

End Sub
 
Plaats je document.

De waarde wordt sowieso niet gewist met = " ".
Dan wordt er een spatie in de cel gezet en is de cel dus niet leeg.
 
Laatst bewerkt:
Zoekwaarde1 is een tekst variabele zonder enige relatie tot het zoekvak en dus helpt het wijzigen van de inhoud van Zoekwaarde1 niet om de inhoud van het tekstvak te veranderen, dat zijn twee verschillende dingen. Zie het zo: Als je een kopietje maakt van een document en je krabbelt iets op die kopie, dan wijzigt de inhoud van het origineel ook niet. Wil je beide wijzigen, dan zal je op beide moeten krabbelen :)
 
Beste edmoor en jkpieterse

Sorry voor de (zeer) late reactie maar dit was buiten mijn wil door ziekte.
Bedankt voor jullie aanbreng;
edmoor; natuurlijk was het dom te denken dat " " en "" hetzelfde was, weer een foutje door kopie natuurlijk en niet gezien, opgelost dus.
jkpieterse: na wat zoeken heb ik begrepen wat je bedoeld met je uitleg. Maar mijn laatste vraag is nog niet beantwoord, waarom werkt "setfocus' niet met de opdracht "txtZoekwaardeNum.SetFocus"? Hier wordt toch verwezen naar het tekstvak waar de focus op moet gezet worden.

Heel belangrijk is het niet maar ik wou dit graag weten.

Bedankt
 
Setfocus werkt niet vanuit bepaalde control events, on der andere Enter en Exit als ik me goed herinner. Maar je plaatst maar een (klein) deel van je code, dus dat is niet te zien.
 
Die niet-werkende setfocus zou je kunnen ondervangen door deze in een application.ontime te zetten, zodat deze pas wordt uitgevoerd wanneer alle events klaar zijn.
 
Bedankt voor de tip EvR,
ik heb het niet direct meer nodig dus vraag is gesloten
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan