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

Met VBA zoekrange afhankelijk laten zijn van waarde in cel

Status
Niet open voor verdere reacties.

BernieBear

Gebruiker
Lid geworden
15 dec 2011
Berichten
14
Hallo,

Graag vraag ik jullie hulp voor het volgende:

Ik wil graag een bestand met verkopen aanleggen. De producten (kolom B) zijn afhankelijk van de categorie (kolom A). Als ik in kolom a de categorie heb gekozen uit een lijst (dmv Data valideren), bijvoorbeeld Stof, hengsels of accessoires, -> Ik kies voor Hengsels. Ik start (handmatig) de macro en wil graag dat de macro gaat zoeken in het bereik dat ik ook 'Hengsels' heb genoemd op tabblad 2.

Een stukje van de macro tref je hieronder:

Do
Cells.Find(What:=Naamproduct, After:=ActiveCell, LookIn:=xlValues _
, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False).Activate
NogEenKeer = MsgBox("Is dit het juiste product?" & vbCr & vbCr & "Komt het product in het bestand" & vbCr & "niet voor? Klik dan op annuleren.", vbQuestion + vbYesNoCancel)

Loop While NogEenKeer = vbNo

Met dit stukje macro doorzoekt excel het hele tabblad op de invoer van de gebruiker. Ik wil deze macro graag vooraf laten gaan door een stukje code, waarbij de range geselecteerd (lees:beperkt) wordt afhankelijk van de gekozen categorie. In krom VBA (en dat werkt dus niet :-) ) wil ik zoiets als: Range(waarde van de actieve cel).select. Om vervolgens binnen die selectie de zoekopdracht verder uit te voeren.

Volgens mij moet het heel simpel zijn, maar ik kom er niet uit! Weten jullie raad?

Bedankt alvast! :(
 
Laatst bewerkt:
Altijd fijn die duidelijke uitleg en voorbeeldbestandjes.


Als je de bereiken benoemd hebt zoiets?

Code:
sheets(2).Range(Sheets(1), Range("A1").Value).Find(What:=Naamproduct, After:=ActiveCell, LookIn:=xlValues _
, LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False).Activate

de A1 verwijst naar de cel waar je validatie instaat.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan