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

Regels verwijderen aan de hand van vragen

Status
Niet open voor verdere reacties.

scannie

Gebruiker
Lid geworden
3 mei 2016
Berichten
27
Ik heb een vraag voor de experts, ben al enige tijd aan het zoeken maar heb de oplossing niet gevonden.

Ik heb op een tabblad honderd vragen gemaakt.
Kolom A is de vraag, kolom B is het antwoord.

Wat ik nu zou willen:

Op tabblad 2 de vraag: bent u ouder dan 50 jaar.
In dat geval moet regel 20 t/m 30 verwijderd worden.

Dit kunnen meerdere vragen zijn zodat het aantal vragen op tabblad 1 vermindert.

Uiteindelijk blijven de vragen over die relevant zijn.

Iemand een idee?

BVD!
 
Misschien dat een voorbeeld document een idee is.
 
Is dat geen huiswerk/schoolopdracht? Is ongeveer hetzelfde principe al bij het invullen van de Aangifte (Belastingdienst).
 
Is het verbergen van rijen niet een beter idee?
 
Nee, het is geen schoolopdracht :)
Het is iets dat ik op het werk wil toepassen.

Mijn voorkeur gaat uit naar regels verwijderen in plaats van verbergen.
Een andere optie is regels kopiëren naar een nieuw tabblad.

Bijvoorbeeld bij een vraag ‘ben je ouder dan 50 jaar’ regel 10 t/m 20 kopiëren van het tabblad met vragen naar een nieuw tabblad.
 
met een doordachte vraagstelling kan je dat in 1 blad doen
 

Bijlagen

  • ouder dan.xlsm
    19,9 KB · Weergaven: 36
Ik heb even een voorbeeld gemaakt om een en ander duidelijker te laten zien.
Als er gekozen wordt voor een leeftijd komen er altijd meerdere vragen bij.
Die moeten direct zichtbaar zijn, dus niet op de wijze zoals het belastingformulier.

Ik hoop dat het voorbeeld duidelijk is.
Link:
https://www.dropbox.com/s/gh2qmluw7ntlyr0/jaar.xlsx?dl=0
 
Laatst bewerkt:
Een bestand kan je gewoon hier plaatsen. Het voorbeeld is nietszeggend. Hoe kan iemand ouder zijn dan 30, niet ouder dan 40 en toch ouder dan 50 zijn?
 
Het Excel bestand is maar een voorbeeld.
Bij leeftijden kan dat dus niet.
Maar het gaat om het idee.
 
Lijkt mij kansloos om op ideeën in te gaan. Tweemaal is al gezegd dat een concreet voorbeeld het beste idee is. Wat wil je nog meer?
 
Beste Senso,
Omdat ik het op het werk wil toepassen had ik hier een voorbeeld gemaakt.
De vragen zijn inderdaad onlogisch.
Maar het gaat om het idee.

Ik weet niet of Excel deze functionaliteit heeft.
Het voordeel is op de onlogische vraagstelling na wel duidelijk denk ik.
 
Nee hoor, het is een totaal onduidelijk verhaal. Iedere helper denkt hier in logische stappen. Dit is een vorm van iets is WAAR of iets is ONWAAR. Obv WAAR of ONWAAR kan je berekeningen/VBA laten uitvoeren. Het verwijderen van rijen is dan zo ongeveer het meest niet slimme wat je kan doen. Als je per abuis ergens anders een verkeerde keuze hebt gemaakt dan is weg ook echt weg en kan je weer opnieuw beginnen.
 
Daar zeg je wat , hier heb je zeker gelijk in. Dan zou kopiëren een veel betere optie zijn.

Vul je bij een vraag ja in, dan kopieer je de bijbehorende vragen naar een tweede tabblad.
Of andersom, vul je nee in, dan verberg je de bijbehorende vragen.
 
Plaats een relevant voorbeeldbestand. Waarschijnlijk zal het met VBA opgelost moeten worden en hiervoor is jouw voorbeeld veel te summier. In de bijlage even obv jouw bestand wat code in elkaar gedraaid. Wijzig in de tab 'hoofdvraag' maar iets in kolom B en bekijk het resultaat in de tab 'gewenste selectie'

De code mag je naar eigen wens aanpassen.
 

Bijlagen

  • jaar.xlsb
    18,8 KB · Weergaven: 37
Dit is precies hetgeen ik zoek, waarvoor dank!

Is dit code hieronder compleet?
Ik zie namelijk niet de relatie tussen het antwoord ja, en het toevoegen van de regels in het nieuwe tabblad.

De code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Columns(2).SpecialCells(-4174)) Is Nothing Then Exit Sub
ar = Cells(1).CurrentRegion
ar1 = Sheets("alle vragen").Cells(1).CurrentRegion
For j = 1 To UBound(ar)
If ar(j, 2) = "ja" Then
For j1 = 1 To UBound(ar1)
If InStr(ar1(j1, 1), Mid(ar(j, 1), 18, 2)) Then c00 = c00 & "|" & ar1(j1, 1)
Next j1
End If
Next j
With Sheets("gewenste selectie")
.UsedRange.Clear
If Len(c00) > 0 Then
ar2 = Split(Mid(c00, 2), "|")
.Cells(1).Resize(UBound(ar2)) = Application.Transpose(ar2)
Else
.Cells(1) = "Niks aangevinkt"
End If
End With
End Sub
 
Ik denk dat je beter hier maar eens kan beginnen.https://www.helpmij.nl/forum/announcement.php?f=5

De code is compleet in werkt in jouw bestand.
De relatie is eenvoudig te vinden als je weet waar je moet zoeken. Bij elke wijzing in kolom B, mits er een validatie staat, wordt er een nieuwe lijst met vragen gemaakt en weggeschreven in het daarvoor bedoelde blad.
 
Bedankt voor de info.
Werken met macro's is nog een hele leercurve zie ik.

Het voorbeeld werkt nu precies zoals ik het ingedachte had.
Alleen kan ik het niet op mijn eigen items toepassen.

Als ik vragen toevoeg werkt het niet meer.

Is het universeler te maken?
Andere vragen die ik met ja/nee moet beantwoorden?
Andere vragen die gekopieerd worden naar een nieuw tabblad?
Ook verschilt het aantal vragen dat gekopieerd wordt naar een nieuw tabblad steeds.

Bij voorbaat dank voor alle info!
 
Of misschien gewoon met een index/vergelijken formule
 

Bijlagen

  • scannie voorbeeld.xlsx
    11,2 KB · Weergaven: 32
Wat is zo moeilijk aan om jouw vragenlijst hier te plaatsen? Als je alles netjes rubriceert en een soort van index maakt maakt dan stelt het zowel met formules als met VBA niet zoveel voor om er iets van te maken. Nu is het allemaal maar een beetje gissen en gaat het en lang draadje worden.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan