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

Typen niet zichtbaar in texbox

Status
Niet open voor verdere reacties.

1Thomas

Gebruiker
Lid geworden
15 dec 2017
Berichten
14
Goedemorgen,

Ik heb een vraagje, ik wil graag een zoekveld in mijn Excel werkblad toevoegen en heb hiervoor onderstaande gebruikt:

Sub TermZoeken()
Dim Tekst As String
Tekst = Blad1.TextBox1.Value
Cells.Find(What:=Tekst, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
End Sub

Ik heb een knop toegevoegd met een macro en zo werkt het prima.
Het enige nadeel vind ik dat ik niet kan zien wat ik typ. Tijdens het typen gebeurd er niks en pas als ik naast de tekstbox klik zie ik wat ik getypt of verwijderd heb. Is hier een oplossing voor?

Ik hoor het graag en alvast dank,

Tom
 

Bijlagen

  • Voorbeeld.xlsm
    21,1 KB · Weergaven: 8
Laatst bewerkt:
De macro kan beperkt blijven tot:

Code:
Sub TermZoeken()
   Cells.Find TextBox1
End Sub

Als je in plaats van een tekstbox een vaste cel gebruikt (bijv. B1):

Code:
Sub TermZoeken()
   Cells.Find cells(1,2)
End Sub
 
Laatst bewerkt:
Hoi snb,

Dank voor de snelle reactie, Wat moet ik dan nog voor een macro toevoegen aan de knop om het werken te maken?

Ik heb nu B1 als invoer cel en dit ingevoerd:
Sub TermZoeken()
Cells.Find cells(1,2)
End Sub

Hoe laat ik hem nu zoeken in de hele kolom A5 t/m A1000?

Gr Tom
 
snb: Als je de Find methode geen verdere argumenten meegeeft, dan wordt gebruikt wat er bij de laatste zoekopdracht gebruikt is (VBA of via de gewone zoek interface).
Dus als je (in VBA) belangrijk vindt welke zoekinstellingen gebruikt zullen worden dan moet je die meegeven in de argumentenlijst.
 
Code:
Sub TermZoeken()
       Range("A5:A1000").Find cells(1,2)
End Sub

@Jkp

Zoals je in de macro van TS ziet, worden slechts de default-parameters gebruikt.
De meeste gebruikers komen niet verder dan dat. Dan gebruiken we eenvoudig die defaultwaarden door ze achterwege te laten.
 
Ik zie wel wat ik in die tekstbox type.
Waarom jij dan niet zou ik zo niet weten.
Overigens zou ik wel bij de Find Lookat:=xlWhole gebruiken in plaats van xlPart.
 
Laatst bewerkt:
Dank voor de reacties, ik weet nu alleen niet hoe ik verder kom....:)

Iemand tijd om het in mijn voorbeeld te laten zien? (bijlage)
 

Bijlagen

  • Voorbeeld.xlsm
    17,3 KB · Weergaven: 15
Maak er eens dit van:
Code:
Sub TermZoeken()
    zoeken = Cells(1, 2)
    Set c = Range("A5:A1000").Find(zoeken)
    If Not c Is Nothing Then
        Application.Goto Range(c.Address)
    Else
        MsgBox zoeken & " niet gevonden", vbInformation
    End If
End Sub
Haal wel de spatie achter test 3 in regel 7 weg.
 
@snb: dat is niet mijn punt. De default waarden veranderen. Als je ze weglaat in de Find methode dan worden NIET de defaults gebruikt, maar datgene dat het laatst is ingestelt.
 
Defaults wijzigen per defiinitie niet.
Ingestelde parameters worden bewaard/onthouden en gebruikt, tenzij ze worden gewijzigd.
 
Dank voor de oplossingen!

Sub TermZoeken()
zoeken = Cells(1, 2)
Set c = Range("A5:A1000").Find(zoeken)
If Not c Is Nothing Then
Application.Goto Range(c.Address)
Else
MsgBox zoeken & " niet gevonden", vbInformation
End If
End Sub

Werkt helemaal goed! Dankjewel!
 
Even @edmoor eraan herinneren zijn gewoontes af te leren.

Code:
Application.Goto c
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan