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

Rij verbergen op basis van selectievakje + waarde in andere kolom.

Status
Niet open voor verdere reacties.

skystormer

Gebruiker
Lid geworden
8 mrt 2011
Berichten
200
Beste mensen,

Ik ben aan het puzzelen om adhv een selectievakje een rij te verbergen. Dit ook nog in combinatie met een bepaalde waarde gegeven in een andere kolom.

In bijgevoegd voorbeeld wil ik dat als kolom J is aangevinkt en in kolom I de tekst "ingevoerd" of "afgekeurd" staat dat dan de gehele rij verborgen wordt.


Bekijk bijlage Forecast verzoeken test.xlsx

De volgende zaken probeer ik nog uit te komen, maar om te voorkomen dat ik later hier aparte topics voor aanmaak zet ik ze er al wel bij. Het bestand valt of staat op het bovenstaande verzoek.
Verder zoek ik een formule welke in kolom A de huidige gebruiker (auteur) weergeeft op het moment dat in kolom C een waarde wordt ingevoerd.
Ik kolom B wil ik via
Code:
=vandaag()
op het moment dat een waarde wordt ingevoerd in kolom C dat deze formule wordt uitgevoerd. (en vervolgens de formule verwijdert) Of gewoon de huidige datum invoert.
Verder in kolom J moet als in kolom C een waarde is ingevuld een selectievakje ingevoegd worden.

Als iemand mij op weg wil helpen zou dat geweldig zijn.

Groeten,`


Aanpassing
Huidige gebruiker plaatsen gevonden.
Code:
Function Gebruikersnaam() As String
 Gebruikersnaam = UCase(Environ("username"))
End Function
Vervolgens met de formule =Gebruikersnaam() krijg ik de huidige gebruiker.
Nu alleen nog die formule er automatisch uit krijgen. (van dit onderdeel)
 
Laatst bewerkt:
Zou het met deze formule lukken?
PHP:
=TEKST(username();LENGTE(username()))
 
Mogelijk begrijp ik die formule verkeerd, maar wat doet die formule precies?
Als ik die namelijk ergens plaats, krijg ik altijd de huidige gebruiker. (als iemand anders het bestand opent, dient mijn naam daar ook te blijven staan). Ik kan met een simpele als formule zeggen dat als er iets in kolom C staat, deze formule uitgevoerd dient te worden.
Echter het moet een eenmalig ding zijn.
Voer iets in, in kolom C. Kolom A en B worden gevuld met de huidige gegevens. (formule mag niet blijven staan)

Echter zoek ik meer iets voor kolom J.
Ik wil dat regels dus verborgen worden zonder dat iemand daadwerkelijk op verbergen hoef te werken. Dit om het aantal handelingen zo laag mogelijk te houden. En ik weet dat dit dan zeker problemen zal gaan geven. Met verwijderde rijen, verkeerde rijen verborgen en geen rijen verborgen. Waardoor mensen werk dubbel kunnen gaan verrichten.
 
Dan heb ik verkeerd gedacht, dus geen goede formule.
Kan Je de inhoud niet kopieren en dan plakken als waarde?
Dan zou de formule weg moeten zijn.

Misschien heeft iemand een beter idee.
Suc6
 
Het moet door meer man gebruikt gaan worden. Om dan uit te leggen je moet een deel kopieren en vervolgens plakken speciaal toepassen is roepen om problemen. + je zit met een doorgetrokken formule die je bij moet houden.
 
Je zou het b.v.b. met de Macrorecorder kunnen opnemen (die schrijft de code voor je)
 
Kun je hier wat mee?

Code:
ActiveCell.Value = Application.UserName
Dit kun je misschien in een Macro verwerken, in de cel staat dan geen formule.
 
Ik heb een macro gevonden en deze een beetje aangepast.

Kijk of dit nu doet wat je wil, er word geen formule geplaatst maar wel de gebruikersnaam.
 

Bijlagen

Laatst bewerkt:
Wat deze code doet is een naam plaatsen in kolom A op het moment dat je op een cel gaat staan in kolom C (in het opgegeven bereik)
Ongeacht of je iets hebt ingevuld komt de naam te staan in kolom A, ook worden alle voorgaande waarden in kolom A overschreven.
Dit zou hij alleen mogen doen als er iets wordt geplaatst in kolom C. (of aangepast wordt, dat gaat ook nog wel)
 
Wat is de vraag ik ben de draad kwijt:d Zonder aanvinkhokje maar met een Ja/Nee keuze.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
    If .Column <> 3 And .Column <> 10 Then Exit Sub
        Application.EnableEvents = False
            If .Column = 3 And .Count = 1 Then .Offset(, -2).Resize(, 2) = Array(UCase(Environ("username")), Now)
            If .Column = 10 And .Count = 1 Then
                If .Value = "Ja" And (.Offset(, -1) = "Ingevoerd" Or .Offset(, -1) = "Afgekeurd") Then .EntireRow.Hidden = True
            End If
        Application.EnableEvents = True
End With
End Sub
 

Bijlagen

VenA dit ziet er geweldig uit.
Ik ga er mee aan de slag.
Je zat er niet ver van af. Eerst was het met aanvinkhokje en een andere waarde. (aanvinkhokje alleen vond ik te riskant met mogelijk misklikken)
Echter met Ja/Nee keuze is het ook gelijk minder riskant.
Ik ga hier mee aan de slag. En me eigen draai hier aan geven. (ik wacht nog even met opgelost zetten.)
 
Een aantal dingen aan het uitproberen loop vast op de volgende VBA code

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
    If .Column <> 3 And .Column <> 9 And .Column <> 10 Then Exit Sub
        Application.EnableEvents = False
            If .Column = 3 And .Count = 1 Then .Offset(, -2).Resize(, 2) = Array(UCase(Environ("username")), Now)
            If .Column = 9 And .Count = 1 Then .Offset(, 2).Resize(, 2) = Array(UCase(Environ("username")), Now)
            If .Column = 10 And .Count = 1 Then .Offset(, 1).Resize(, 2) = Array(UCase(Environ("username")), Now)
            If .Column = 10 And .Count = 1 Then
                If .Value = "Ja" And (.Offset(, -1) = "Ingevoerd" Or .Offset(, -1) = "Afgekeurd") Then .EntireRow.Hidden = True
            If .Column = 9 And .Count = 1 Then
                If .Value = "Ingevoerd" And (.Offset(, 1) = "Ja") Then .EntireRow.Hidden = True
            End If
        Application.EnableEvents = True
End With
End Sub

Nu verbergt excel een rij als een bepaalde waarde wordt ingevuld in de 10e kolom en deze overeen komt met de ingegeven waarde in Kolom 9.
Wat ik probeer toe te voegen is dat ook als als in kolom 9 een waarde wordt ingevoerd dat in kolom 10 wordt gekeken naar een waarde en dan wel of niet de rij moet verbergen.

Nu krijg ik een compileerfout.
End With zonder With

Iemand een idee?
 
volgens mij ontbreekt er een End If
 
Inderdaad een missende end if.
VenA reuze bedankt wederom.
Ik kan gaan puzzelen met wat ik wil bereiken.
Haije Bedankt voor de end if.
Excelamateur bedankt voor het meedenken.
 
Ik kom toch nog terug op deze.

Ik heb in VBA nu

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
    If .Column <> 3 And .Column <> 10 And .Column <> 11 Then Exit Sub
        Application.EnableEvents = False
            If .Column = 3 And .Count = 1 Then .Offset(, -2).Resize(, 2) = Array(UCase(Environ("username")), Now)
            If .Column = 3 And .Count = 1 Then .Offset(, 8).Resize(, 1) = Array("Nee")
            If .Column = 10 And .Count = 1 Then .Offset(, 2).Resize(, 2) = Array(UCase(Environ("username")), Now)
            If .Column = 11 And .Count = 1 Then .Offset(, 1).Resize(, 2) = Array(UCase(Environ("username")), Now)
            If .Column = 11 And .Count = 1 Then
                If .Value = "Ja" And (.Offset(, -1) = "Ingevoerd" Or .Offset(, -1) = "Afgekeurd") Then .EntireRow.Hidden = True
            End If
        Application.EnableEvents = True
            If .Column = 10 And .Count = 1 Then
                If .Value = "Ingevoerd" And (.Offset(, 1) = "Ja") Then .EntireRow.Hidden = True
                If .Value = "Afgekeurd" And (.Offset(, 1) = "Ja") Then .EntireRow.Hidden = True
            End If
        Application.EnableEvents = True

End With

End Sub

Ik ging wat tests doen en ik kreeg nog net geen tranen in mijn ogen van de mooie opzet van VenA, hoe deze keer op keer gesloopt werd.
En met name door gelijk alles op ingevoerd en ja te klikken, vervolgens de regel proberen te behandelen. En tsja dan is ie al verborgen.
Hoe maak ik hier nu een macro van? Welke geactiveerd wordt door het klikken van een knop.

Bekijk bijlage Forecast productieorders aanmeldingen.xlsb

Mijn dank is groot als jullie me kunnen helpen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan