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

namen zoeken

Status
Niet open voor verdere reacties.

Willem Blaas

Gebruiker
Lid geworden
30 aug 2006
Berichten
253
goede middag

vorige keer is mij verteld hoe ik een sturing kan realiseren via een karakterplaats van een cel
bv 601245 gaat naar tabblad 2006 , en 704352 naar tabblad 2007. dit gaat perfect.

wanneer ik nu in die cel bv zet 601245 klaassen uit zeddam gaat deze inderdaad naar tabblad 2006. nu wil ik in die kolom zoeken naar klaassen uit zeddam (zonder nummer) dan kan dat op de reguliere manier en zoekt hij en vergeet het nummer, wanneer je dit laat doen middels een macro denk ik dat je ook weer zoiets moet doen in de trant van left en dan iets vanaf positie 8
al geprobeerd met * , % maar die vlieger gaat niet op

ook dit zal (als je het weet) niet moeilijk zijn

wie weet de truc ?

vriendelijk dank

Willem
 
Hoi Willem,

Stel dat in cel A1 staat: 601245 klaassen uit zeddam
In een formule zou ik dan zetten:
=deel(vind.alles(" ";A1)+1;50)
Met andere woorden, neem het deel van de inhoud van cel A1 dat begint direct na de eerste spatie. De 50 is omdat ik denk dat vijftig karakters meer dan genoeg zijn. Netter zou zijn (lengte(A1)-vind.alles(" ";A1)+1) in plaats van de 50.

In een macro ziet het er als volgt uit, en kan vast mooier:
ActiveCell.FormulaR1C1 = "=VLOOKUP(MID(RC[-1],FIND("" "",RC[-1])+1,50),R4C1:R8C2,2,FALSE)"

Richard
 
Hoi Willem,

Stel dat in cel A1 staat: 601245 klaassen uit zeddam
In een formule zou ik dan zetten:
=deel(vind.alles(" ";A1)+1;50)
Met andere woorden, neem het deel van de inhoud van cel A1 dat begint direct na de eerste spatie. De 50 is omdat ik denk dat vijftig karakters meer dan genoeg zijn. Netter zou zijn (lengte(A1)-vind.alles(" ";A1)+1) in plaats van de 50.

In een macro ziet het er als volgt uit, en kan vast mooier:
ActiveCell.FormulaR1C1 = "=VLOOKUP(MID(RC[-1],FIND("" "",RC[-1])+1,50),R4C1:R8C2,2,FALSE)"

Richard

Richard

ziet er perfect uit (alhoewel ik hem (nog) niet helemaal begrijp) maar het zit in de richting. maar nog een aanvullende vraag, stel:

in een aantal cellen in 1 kolom staan div werkordernummers met bv als klant pruis k en andere wo nr's met pruis r het nr is altijs 6 karakters dan een spatie en dan de naam

in een msgbox vraag ik al geef "geef klantnaam" en met en Dim klantnaam as string ga ik daarmee verder

nu moet ik dus de kolom met al die nummers met namen filteren op bv pruis r

HAMVRAAG waar moet in die oplossing van richard nu klantnaam komen zodat de kolom gefilterd wordt op pruis r

weet jij het ? weet ik het
 
Willem,

Je laat een zin op het scherm zien door MsgBox
Dan voer je een waarde in een cel in.
Dan lees je de waarde uit een cel in als een string.

ik denk dat InputBox iets voor je is.
Die komt met een zin bv: geef een getal.
Onder In diezelfde Inputbox staat een veld waar je de waarde in kunt voeren.
De waarde uit een InputBox is altijd een string.

Code:
Sub Zoeken()
Dim ans As String
    ans = InputBox("Geef naam in aub.")
    On Error GoTo fout
    Cells.Find(What:=ans, After:=ActiveCell, LookIn:=xlValues, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
            False).Activate
    Exit Sub
fout:
    MsgBox ans & " is niet gevonden", vbOKOnly + vbExclamation, "zoeken"
End Sub

Hier staat een link naar een vraag op dit forum waar het ook over een InputBox gaat.
http://www.helpmij.nl/forum/showthread.php?t=264947


Koosl.
 
Willem,

Je laat een zin op het scherm zien door MsgBox
Dan voer je een waarde in een cel in.
Dan lees je de waarde uit een cel in als een string.

ik denk dat InputBox iets voor je is.
Die komt met een zin bv: geef een getal.
Onder In diezelfde Inputbox staat een veld waar je de waarde in kunt voeren.
De waarde uit een InputBox is altijd een string.

Code:
Sub Zoeken()
Dim ans As String
    ans = InputBox("Geef naam in aub.")
    On Error GoTo fout
    Cells.Find(What:=ans, After:=ActiveCell, LookIn:=xlValues, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
            False).Activate
    Exit Sub
fout:
    MsgBox ans & " is niet gevonden", vbOKOnly + vbExclamation, "zoeken"
End Sub

Hier staat een link naar een vraag op dit forum waar het ook over een InputBox gaat.
http://www.helpmij.nl/forum/showthread.php?t=264947


Koosl.

ga ik proberen en je hoort de uitslag (ik denk morgen)

bij voorbaat dank koos
 
koos

je oplossing uitgeprobeerd, maar doet niet (helemaal) wat de bedoeling is

in het meegestuurde voorbeeld staat bij de macro's een uitleg over wat en hoe

ik weet niet of je druk bent (dat weten we allemaal niet van elkaar) ik ben in ieder geval niet echt druk, sinds 13 dagen in de VUT dus dat valt wel mee.

succes

willem
 

Bijlagen

Willem,

probeer dit eens...

Code:
Sub bedoeling()
Dim ans As String
    ans = InputBox("Geef naam in aub.")
    On Error GoTo fout
    Selection.AutoFilter Field:=1, Criteria1:="=*" & ans & "*", Operator:=xlAnd
    Exit Sub
fout:
    MsgBox ans & " is niet gevonden", vbOKOnly + vbExclamation, "zoeken"
End Sub


Koosl
 
Ik zou dit doen, en de foutbehandeling eruit kieperen.

Code:
Dim ans As String
    ans = InputBox("Geef naam in aub.")
    Columns(1).AutoFilter Field:=1, Criteria1:="=*" & ans & "*"
End Sub

Wigi
 
dank je wel Wigi,

dit was inderdaad de bedoeling, zoals zovele dingen he simpel en toch eenvoudig

ik doe er m'n voordeel mee, tot de volgende keer

willem
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan