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

Vorm van vertikaal zoeken, liefst in een macro verwerkt

Status
Niet open voor verdere reacties.

fun_surfer

Gebruiker
Lid geworden
25 aug 2001
Berichten
621
Beste allemaal, allereerst een fijne kerst toegewenst! Ik heb een bestand gemaakt (met de hulp van vele Helpmij-ers! :thumb:) alleen nu wil ik hier een extra functie aan koppelen. Als ik een mutatie invoer wil ik een 'foutmelding' krijgen als de ingevoerde klant de opgegeven locatie niet in gebruik heeft. Bijv.: Ismaël staat in EH 2. Nu vraagt dat bedrijf doos 3 op van EH 2.In dit geval klopt de situatie en wil ik de uit te voeren actie laten doorgaan. Nu komt bedrijf Jochem en die wil ook een doos uit de locatie EH 2 opvragen, deze locatie heeft hij echter niet tot zijn beschikking. In dit geval wil ik een messagebox krijgen waarin mij verteld wordt dat dit niet mogelijk is; de uit te voeren actie wordt dus genegeerd en ik wil de kans krijgen mijn invoer te herstellen.
Het gaat mij vooral om de functie Verticaal zoeken, ik krijg deze niet toegepast op een bereik van 3 aaneensluitende cellen: dit is geen waarde! Ik ben al op zoek gegaan naar Converteren, zodat ik mijn tekst om kan zetten naar een getal maar dit lukt mij tot nog toe nog niet.
Wie kan mij een duwtje geven? Alvast bedankt voor het meedenken groeten Art.
 
Laatst bewerkt:
Hoe kan ik AutoFilter aansturen in een macro? ik krijg wel alles leeg, maar ik kan niet filteren op bijv. de waarde van cel mutaties!F4. Wat doe ik fout?
Ik heb bedacht dat mijn vraag opgelost kan worden met AutoFilter, als iemand andere oplossingen heeft hoor ik die ook graag uiteraard; het gaat mij erom dat het komt te werken, àls het mogelijk is...;)
 
Beste Pierre, bedankt voor je reactie. Ik heb bijna ieder bestand bekeken van de site die je me linkte, maar ik zie niet hoe ik dit zou moeten doen. Mijn kennis van macro is waarschijnlijk nog te klein om deze uitdaging aan te gaan. Ik probeer het morgen weer eens; misschien zie ik dan ineens 'het licht', ik moet echter bekennen dat ik mijn twijfels hierover heb...
In ieder geval weer bedankt, groeten Art.
 
Beste Pierre, allereerst een heel gelukkig 2006! Bedankt voor je voorbeeld; het is alleen niet echt gemakkelijk voor mij om over te gaan op zoiets. Ik heb mijn formulieren allemaal zo afgestemd dat alles goed en snel in te voeren is. Het enige dat ik nog wil is die controle. Als je op deze link klikt krijg je wat ik tot nog toe voor elkaar heb gekregen en wat ongeveer mijn bedoeling is. Dat krijg ik allemaal nog wel in een macro verwerkt. Nu klopt het alleen niet: ik krijg niet de goede naam bij de juiste locatie! Ik weet niet wat ik fout doe maar ik heb ook in een ander bestand een fout als ik Vertikaal Zoeken gebruik... In dit bestand kan ik me voorstellen dat het komt doordat ik 2x locatie AC2 (als voorbeeld) heb, maar in dat andere bestand is dit niet het geval. Het zal dus een andere oorzaak hebben?
Misschien weet jij uit te leggen wat ik niet goed doe?
 
fun_surfer, ik heb alleen maar even naar het blad mutaties gekeken en daar gezien dat je vert.zoeken verkeerd gebruikt.Eerst had je namen uit kolom A als zoekwaarde ingevoerd, maar je hebt waarschijnlijk al ingezien dat dat niet juist is, want dat is inmiddels aangepast. Wat je ook nog moet doen is onwaar of een 0 toevoegen om de juiste waarde te vinden zodat in O4 in blad mutaties het er zo komt uit te zien
=vert.zoeken(N4;$L$4:$M$752;2;0)
wellicht heb je hier ook voldoende aan om je macro aan te passen.
Lees eens goed de uitleg bij vertikaal zoeken in de helpfunctie van Excel, het wordt daar prima uitgelegd.
 
In mijn dummy-bestand werkt het nu, alleen in dat andere bestand werkt het nog niet, daar zal ik vanavond - na de uitleg gelezen te hebben - nog verder naar kijken. Je had trouwens gelijk dat ik fout was begonnen, daar kwam ik 1 minuut later achter, maar jij had hem al gespot... :o In ieder geval alvast bedankt voor de voorzet!
 
Laatst bewerkt:
dummy

fun-surfer,

Het bestand is te groot voor ZIP.
Hierbij de aangepaste code voor de macro op Blad "mutatie"
De kolommen L t/m O gaan na de oorspronkelijke actie nu 1 rij omhoog met behoud van de formules en VW-Opmaak.

Private Sub cmdNieuw_Click() 'OK+nieuwe invoer
'Foutmeldingen bij niet ingevulde velden:
If lstBedrijf.Text = "" Then
MsgBox "Voer a.u.b. 'Bedrijfsnaam' in!"
lstBedrijf.SetFocus
Exit Sub
End If
If lstUitnemer.Text = "" Then
MsgBox "Voer a.u.b. 'Gepakt door' in!"
lstUitnemer.SetFocus
Exit Sub
End If
If lstPad.Text = "" Then
MsgBox "Voer a.u.b. de 1e letter van de locatie in!"
lstPad.SetFocus
Exit Sub
End If
If lstVak.Text = "" Then
MsgBox "Voer a.u.b. de 2e letter van de locatie in!"
lstVak.SetFocus
Exit Sub
End If
If lstVerd.Text = "" Then
MsgBox "Voer a.u.b. de verdieping in!"
lstVerd.SetFocus
Exit Sub
End If
If lstDoos.Value = "" Then
MsgBox "Voer a.u.b. het doosnummer in!"
lstDoos.SetFocus
Exit Sub
End If
If lstAanvrager.Text = "" Then
foutNieuw.Show
Exit Sub
End If

'
'De eigenlijke actie:
'
Worksheets("mutaties").Activate
Application.EnableEvents = False
Rows("4").Select
Range("A4", "P4").Select
Selection.Insert shift:=xlDown

Range("A4").Select
Application.EnableEvents = True
With ActiveCell
.Offset(0, 0).Value = lstBedrijf.Text
.Offset(0, 1).Value = lstAanvrager.Text
.Offset(0, 2).Value = lstUitnemer.Text
.Offset(0, 3).Value = txtDatum.Text
.Offset(0, 4).Value = txtDossier.Value
.Offset(0, 5).Value = lstPad.Text
.Offset(0, 6).Value = lstVak.Text
.Offset(0, 7).Value = lstVerd.Value
.Offset(0, 8).Value = lstDoos.Value
End With
Range("N4").Formula = "=RC[-8]&RC[-7]&RC[-6]"
Range("O4").Formula = "=VLOOKUP(RC[-1],R3C12:R751C13,2,0)"
Range("L5:M752").Select
Selection.Cut
Range("L4").Select
ActiveSheet.Paste
Range("A4").Select
Range("O5").Select
Selection.Copy
Range("O4").Select
Selection.PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
Range("A4").Select
Unload Me
mutatie_nieuw.Show
End Sub
Private Sub cmdOpslaan_Click() 'OK+nieuw venster
'Foutmeldingen bij niet ingevulde velden:
If lstBedrijf.Text = "" Then
MsgBox "Voer a.u.b. 'Bedrijfsnaam' in!"
lstBedrijf.SetFocus
Exit Sub
End If
If lstUitnemer.Text = "" Then
MsgBox "Voer a.u.b. 'Gepakt door' in!"
lstUitnemer.SetFocus
Exit Sub
End If
If lstPad.Text = "" Then
MsgBox "Voer a.u.b. de 1e letter van de locatie in!"
lstPad.SetFocus
Exit Sub
End If
If lstVak.Text = "" Then
MsgBox "Voer a.u.b. de 2e letter van de locatie in!"
lstVak.SetFocus
Exit Sub
End If
If lstVerd.Text = "" Then
MsgBox "Voer a.u.b. de verdieping in!"
lstVerd.SetFocus
Exit Sub
End If
If lstDoos.Value = "" Then
MsgBox "Voer a.u.b. het doosnummer in!"
lstDoos.SetFocus
Exit Sub
End If
If lstAanvrager.Text = "" Then
foutOpslaan.Show
Exit Sub
End If
'
'De eigenlijke actie:
'
Worksheets("mutaties").Activate
Application.EnableEvents = False
Rows("4").Select
Range("A4", "P4").Select
Selection.Insert shift:=xlDown
Range("A4").Select
Application.EnableEvents = True
With ActiveCell
.Offset(0, 0).Value = lstBedrijf.Text
.Offset(0, 1).Value = lstAanvrager.Text
.Offset(0, 2).Value = lstUitnemer.Text
.Offset(0, 3).Value = txtDatum.Text
.Offset(0, 4).Value = txtDossier.Value
.Offset(0, 5).Value = lstPad.Text
.Offset(0, 6).Value = lstVak.Text
.Offset(0, 7).Value = lstVerd.Value
.Offset(0, 8).Value = lstDoos.Value
End With
Range("N4").Formula = "=RC[-8]&RC[-7]&RC[-6]"
Range("O4").Formula = "=VLOOKUP(RC[-1],R3C12:R751C13,2,0)"
Range("L5:M752").Select
Selection.Cut
Range("L4").Select
ActiveSheet.Paste
Range("A4").Select
Range("O5").Select
Selection.Copy
Range("O4").Select
Selection.PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
Range("A4").Select
Unload Me
End Sub
 
Beste allemaal, ik heb de uitleg van Vertikaal zoeken gelezen en één en ander verder geprobeerd uit te werken, ik heb alleen nog 1 probleem: bij AC2 heb ik als klant Ismaël en Cees, nu geeft hij bij de bovenste WAAR maaar bij de onderste ONWAAR, terwijl het allebei WAAR is. Is hier een oplossing voor of is dit onoverkoombaar? P.S.: de macro moet ik nog toepassen, in ieder geval bedankt hiervoor en uiteraard voor alle ideeën van jullie, zoals altijd hardstikke tof! :thumb:
Groeten Art.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan