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

Selectie Cellen bij bepaalde waarde van een andere cel

Status
Niet open voor verdere reacties.

MMS1972

Gebruiker
Lid geworden
21 sep 2018
Berichten
40
Hallo,

Ik ben op zoek naar een functie, macro oid waarmee ik bepaalde cellen automatisch geselecteerd en gesorteerd krijg als een bepaalde cel een bepaalde waarde heeft.

Dus bijv. ik wil alleen de cellen uit kolom B, C en D zien als in kolom A de waarde bijv. 100 is.

Mijn idee is om dan de uitkomst netjes te kunnen printen. Dus witte regel moeten weggehaald zijn maar niet verwijderd uit de lijst.

Wellicht is een oplossing hiervoor om een 2e werkblad hiervoor te gebruiken maar dit weet ik niet.

Normaal zou ik in de kolom A gewoon selecteren om dropdown alleen die heeft een max aantal cellen waaruit gekozen kan worden. Mijn aantal cellen ligt hoger en derhalve is dit volgens mij geen oplossing.

Als bijlage een opzet van een bestand. Cel A1 is door mij in te voeren. De lijst daaronder is een gegeven. De lijst daaronder is het resultaat wat ik hebben wil en wat ik kan printen.

Iemand die kan helpen?

Bedankt.

Marco
 

Bijlagen

  • Opzet Lijst.xlsx
    9,4 KB · Weergaven: 22
Sorry de waarde 100 is zomaar gekozen. In de opzet ben ik uitgegaan van 1, 2, 3, 4 en 5 maar die lopen in principe oneindig door. Kan dus zijn dat ik de waarde 100 zoek maar kan ook waarde 4 zijn of waarde 1284 om maar wat te noemen.

Het gaat er dus om dat als ik op A1 een bepaalde waarde aangeef dat ik vervolgens een lijst krijg met resultaten die aaraan voldoet en dan een aantal kolommen erbij die daarmee verband houden.
 
je wil dus enkel de rijen uit kolom A zien die gelijk zijn aan cel A1?
 
De rijen uit kolom A, B, C en zeg E.

Dus cel A1 die moet dan zoeken in kolom A. De waarde van die rijen en specifieke kolommen (omdat niet alle kolommen relevant zijn).
 
zoiets?
 

Bijlagen

  • Opzet Lijst (1).xlsm
    19,8 KB · Weergaven: 29
Dit gaat de goede kant op maar nog niet helemaal wat ik zoek. Hieronder wat punten:

1 Als ik in A1 een waarde ingeef en dan op de button klik dan komt het resultaat naar voren maar de rest van de lijst is niet meer zichtbaar. Dit moet wel behouden blijven zonder dat ik daar weer handelingen voor hoef te doen. Wellicht een oplossing om de cel A1 in een 2e tabblad te zetten en daar ook het resultaat te krijgen (dus dat er eerst gezocht wordt en dan gekopieerd of eerst het hele tabblad 1 kopieren en dan een gedeelte laten zien of de rest verwijderen? In het 1e tabblad blijft dan alles het oude
2 Nu worden allen kolommen nog getoond. Aangezien deze lijst slechts een voorbeeld is en de originele lijst wel 20 kolommen heeft wil ik als resultaat maar een aantal kolommen te zien krijgen. Zeker kolom A waar A1 op van toepassing is maar ook de daarbij behorende kolommen van bijv B en D (dit moet ik nagaan welke exact maar voor de opzet maakt het denk ik niet uit).

Bedankt.
 
Zet er kolomkoppen boven.

Het resultaat komt op blad 2 en wordt direct getoond om te printen.
Direct printen? 'Printpreview' wijzigen in 'Printout' in de code.


Ps:

Code kan ook zo.
Code:
Sub hsv_2()
With Sheets("blad1").Cells(3, 1).CurrentRegion
  .Cells(3, 1).CurrentRegion.AutoFilter 1, .Parent.Cells(1)
  Union(.Columns(1).Resize(, 3), .Columns(5)).Copy Sheets("blad2").Cells(1)
  .Cells(3, 1).CurrentRegion.AutoFilter
End With
  With Sheets("blad2")
   .PrintPreview
   .Cells(1).CurrentRegion.Clear
  End With
End Sub
 

Bijlagen

  • Opzet Lijst.xlsb
    17,5 KB · Weergaven: 33
Laatst bewerkt:
Dat uit te breiden naar eigen goeddunken.

Probeer altijd te werken op 1 blad anders loop je veel meer kans op missingen en vergissingen
 

Bijlagen

  • Opzet Lijst (1).xlsm
    22 KB · Weergaven: 25
Bedankt heren.

@Harry: Hoe activeer ik die opdracht? Zie niks in de sheet.
 
Met Alt+F8 en dan F5, of aan een knop of sneltoetscombinatie.

In onderstaand bestand heb ik voor een knop gekozen.
 

Bijlagen

  • Opzet Lijst1.xlsb
    21,9 KB · Weergaven: 31
Dit is inderdaad wat ik zoek.

Hoe krijg ik dit in een ander bestand waar ook dergelijk knoppen in zitten en hoe kan ik het finetunen (juiste cellen/kolommen)?

Bedankt.

Marco
 
Geen idee,

We kunnen misschien slim zijn.
Jij plaatst een bestand en ik probeer een code te schrijven.
 
Zat ik ook al aan te denken. Probeerde de macro in te voegen maar kom hier niet direct uit.

Ik pas de lijst even aan en zet die direct online.
 
Bijgaand de lijst.

Het is dus de bedoeling dat ik in veld F4 een waarde ingeef en dat veld H4 een knop wordt.

Veld F4 gaat zoeken in de kolom D (in de opzet was dit kolom A).

Als resultaat wil ik dan zien (mits mogelijk)

Kolom D, F, K, L en M en daarboven als het kan de titels die bij de kolommen staan uit rij 7.

Alles dan weer kunnen printen met een preview en printen in landscape.

Let op dat de waarde die ik in F4 invoer ook de exacte waarde is. Dus bijv. als ik 88 invoer dat ik alleen die rijen zie waar 88 staat en niet 188, 288 etc. etc.
 

Bijlagen

  • Inventarisatie 22-09.xlsm
    595,8 KB · Weergaven: 29
Waarom wordt er niets geschreven in rij 8 en 9 ?
 
Het is een reeds bestaande lijst en dit is destijd zo opgezet ook om het wat duidelijker en overzichtelijker te houden. Af en toe wat witregels is wel prettiger vinden wij.
 
Hang de code aan een knop.
Code:
Sub hsv()
Dim sv, Ws As Range
Application.ScreenUpdating = False
Set Ws = Sheets("blad1").Cells(7, 2).Resize(Sheets("blad1").UsedRange.Rows.Count, 12)
   Ws.Name = "bereik"
   sv = Ws.Value
 With Sheets("blad2")
   .Cells(1).Resize(UBound(sv), 4) = Application.Index(sv, [row(bereik)-6], Array(3, 5, 11, 12))
   .UsedRange.AutoFilter 1, Ws.Parent.Cells(4, 6).Value
   .Columns.AutoFit
   .PrintPreview
   .UsedRange.AutoFilter
   .UsedRange.ClearContents
 End With
End Sub
 
Vreemd. Doe ik dit in de opzet sheet dan werkt het wel. Doe ik dit in mijn sheer met 13000 regels dan krijg ik een foutmelding. Na opsporen krijgt ik dit resultaat waar een fout in zit:

.Cells(1).Resize(UBound(sv), 4) = Application.Index(sv, [row(bereik)-6], Array(3, 5, 11, 12))

Enig idee???
 
In je laatst geplaatst bestand beginnen de gegevens in B7.
Is dat nu weer anders?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan