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

Zoekvoorwaarden voldoen aan 2 voorwaarden

Status
Niet open voor verdere reacties.

samui

Verenigingslid
Lid geworden
26 mei 2012
Berichten
207
Hallo,
Ik zit met het volgende probleem ( zie bijlage voor verduidelijking )
Via een reeks van stappen en handelingen zou ik op het eind dmv een macro uit moeten komen op dit tabblad en wel op locatie G92 (1VC13A3 is gebruikte locatie eerder in het traject van handelingen)
Echter zoals je ziet op locatie E146 is hetzelfde SAP en BATCH nummer te vinden. ( Dit is mogelijk door beperkt aantal op 1 locatie )

De macro bij mij zoekt standaard van onderaf aan en zet de cursor dan G146 ipv G92 om het aantal aan te kunnen passen.
Waarom gaat het fout: Bij mijn macro zoekt hij eerst op locatie welke in mijn geval 1VC13A3 moet zijn( zie i7) , die vind hij dan op D92 dit is OK, daarna moet de batch erbij worden gezocht (zie (i8) en die vind hij dan als eerste op locatie F146. De eerste voorwaarde wordt dus niet vastgehouden maar de 2e wordt leading.
Dit gaat dus fout als de locatie die gezocht moet worden 1VC13A3 moet zijn.

Mijn vraag: Weet iemand hoe ik mijn macro zo moet maken dat de voorwaarde locatie ( D92 ) én BATCH (F92) voldoen zodat de cursur op G92 geplaatst wordt ipv wat nu het geval is dat de cursur op G146 terecht komt.

OFWEL:
Moet ik afboeken op locatie 1VC13A3 met BATCH 9195 moet de macro én qua locatie én qua batch voldoen en op G92 komen om af te boeken
Moet ik afboeken op locatie 1VC13E3 met BATCH 9195 moet de macro én qua locatie én qua batch voldoen en op G146 komen om af te boeken

Ik hoop dat iemand mij kan helpen met een juiste macro want ik heb helaas al wat misboekingen gedaan omdat ik niet in de gaten had dat ik op de verkeerde locatie zat.

Alvast hartelijk dank voor jullie hulp en zie de juiste macro dolgraag tegemoed.

mvg,

Frank

Met dank aan Cobbe, Hieronder de macro zoals deze zijn werk doet tot heden.
Ik weet dat deze macro niet doet wat ik in mijn vraag wel hoop te krijgen.
Z zoekt de locatie, deze wordt gevonden en cursor komt op locatie te staan tijdens de macro uitvoering, omdat op de bewuste locatie ook andere batches liggen moet de juiste batch erbij gezocht worden. Als de bewuste batch elders in dit tabblad ( in dit geval op F146 ) ook ligt gaat het dus fout.
Daarna doet Y zijn deel van de macro. Zoals je ziet zal de Z zoekactie bij mij dus verloren gaan daar het 2 separate zoekacties zijn.
Op deze manier komt dus de batch in beeld die onderaan staat terwijl de locatie en batch, volgens eerder ingegeven gegevens buiten de macro om, op locatie G92 uit moet komen.
Ik hoop dus dat iemand mij een macro kan toesturen die wel voldoet aan EN Locatie EN Batch zodat de cursor ook op deze positie komt. G92


'locatie zoeken en cursur hierzetten
For z = 10 To 150
If ActiveSheet.Cells(7, 9).Value = ActiveSheet.Cells(z, 4).Value Then
ActiveSheet.Cells(z, 7).Select
End If
Next z

'batch zoeken en cursur hierzetten
For y = 10 To 150
If ActiveSheet.Cells(8, 9).Value = ActiveSheet.Cells(y, 6).Value Then
ActiveSheet.Cells(y, 7).Select
End If
Next y



Volgens mij moet het dus iets worden in de trend van:

For z = 10 To 150
If ActiveSheet.Cells(7, 9).Value = ActiveSheet.Cells(z, 4).Value & ActiveSheet.Cells(8, 9).Value = ActiveSheet.Cells(z, 6).Value Then
ActiveSheet.Cells(z, 7).Select
End If
Next z

maar dat accepteerd VBA niet en ik weet dus niet hoe ik deze regel wel werkend krijg.

Om dit hele verhaal kort uit te leggen getal in i7 moet gevonden worden in kolom d en daarbij moet het getal in i8 gevonden worden om bij deze 2 ja's uit te komen op kolom g in dezelfde rij.

Nu staat er 1VC13A3 in cel i7 dan moet de macro uitkomen in cel G92 met batch 9195
Staat er 1VC13E3 in cel i7 moet de macro uitkomen in cel G146 met batch 9195
 

Bijlagen

Laatst bewerkt:
Met dit voorbeeldbestand ga je vm niet veel reactie krijgen.

Vul eens een paar gegevens in en doe er tenminste uw macro bij die je nu gebruikt.

En vermeld hoe en wanneer er moet gezocht worden
 
Beste Cobbe, ik hoop dat je hier verder mee kan gaan. Ik dacht/vond mijn uitleg redelijk duidelijk, echter als de 1e persoon al om meer uitleg vraagt vergt het wat toevoeging.

Frank
 
Als ik het goed heb begrepen moet je met dit genoeg hebben:

Code:
Sub cobbe()
'locatie zoeken en cursur hierzetten
With ActiveSheet
    waarde = .Range("J7")
        For Z = 10 To 150
          If .Cells(Z, 4) = waarde Then
             .Cells(Z, 4).Offset(, 2).Select: Exit Sub
          End If
         Next Z
End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan