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

var. aantal rijen op willekeurige positie verbergen

Status
Niet open voor verdere reacties.

sylvietoin

Gebruiker
Lid geworden
5 feb 2007
Berichten
56
Beste Forumleden,

heb een vraagje

ik heb een tabblad uitvoer, dit is een blad waarin alleen output komt van gegevens uit andere tabbladen
dit blad is beveiligd, maar ik wil hier en daar rijen kunnen verbergen
daar er verschillende mensen met dit bestand werken, vind ik het te link om steeds beveiliging eraf te (laten) gooien
rijnr en het aantal rijen onder elkaar zijn var.

ik denk aan een soort van invoerbox waarin ik de vraag stel
"vanaf welk rijnr. tot welk rijnr. rij verbergen?"
hierin dan als input geven bv 7 t/m 10

macro draaien waarin beveiliging eraf gehaald wordt
regels verbergen
opnieuw beveiligen met ww

vervolgens een aparte macroknop om alle verborgen rijen zichtbaar te maken

hoe kan ik een var. range maken?

ter verduidelijking zie bijlage

ben benieuwd

gr
Toin
 

Bijlagen

Een beetje door het verhaal heen gelezen wil je alle rijen die een nul als resultaat hebben niet meer zichtbaar, en die kunnen dus variabel zijn.
Code:
Sub hsv()
Dim area As Range, y As Long, yy As Long
For Each area In Sheets("invoer").Columns(1).SpecialCells(2).Areas
 With Sheets("output")
   .Unprotect "10"
        If y = 0 Then
          .Cells(1).CurrentRegion.ClearContents
           y = 1
        End If
      yy = yy + 1
     .Cells(Rows.Count, 1).End(xlUp).Offset(IIf(yy = 1, 0, 1)).Resize(area.Rows.Count, 7) = area.Resize(, 7).Value
 If yy = Sheets("invoer").Columns(1).SpecialCells(2).Areas.Count Then Union(.Columns(2), .Columns(3), .Columns(5), .Columns(6)).Delete
   .Protect "10", True, True, True, True
 End With
 Next area
End Sub
 
hoi forumleden,

bedankt voor jullie input.

@ HSV,
nee de nullen hoeven niet weggefilterd te worden, in mijn bestand zullen dit allemaal waardes groter dan 0 zijn


@ Edmoor,

ziet er goed uit, dank je
ik heb ww toegevoegd in jouw bestandje, werkt goed
alleen wanneer de waarde 0 is dan krijg ik een foutmeldig, vind ik niet erg

probeer het nu in mijn oorspr. bestand, krijg het usefield niet goed

ben nu wel benieuwd hoe jij het usefield hebt gemaakt
is dit een ActiveX-besturingselement?
ik heb wat geprobeerd, maar krijg niet die ene die jij hebt gekozen (kader met gridpuntjes)??
moeten hier vervolgens keuzerondjes in geplaatst worden?
kun je me vertellen hoe ik dit aanpak

gr
Toin
 
Het schermpje dat je ziet is gewoon een formulier met de verschillende objecten zoals 2 tekstboxen, 2 optievelden, 2 knoppen, een kader en een label. Je moet inderdaad eerst een kader plaatsen en daarna de gewenste objecten er in zetten. Het kader heeft vervolgens geen label (Caption).

Over de fout die je krijgt, ik zei al dat je de controles er zelf in moet maken.
Eventueel wil ik dat ook wel voor je doen.
 
Laatst bewerkt:
Hoi edmoor,

bedankt voor je hulp,

ik heb eea van jou afgekeken, maar krijg useform niet werkend
ik kan niet reproduceren waar het fout gaat, te weinig kennis hiervan
geprobeerd met boek erbij, maar helaas kom niet verder

kun jij mij hierin verder helpen
(graag ook met wat tekst/uitleg ter lering)

het schermpje zoals jij hebt gemaakt is voor mij oke

commando alleen werkend op dit werkblad

verbergen:
ik heb een aantal rijen welke nooit zichtbaar mogen worden (1 t/m 94)
weet niet of het kan, maar is het mogelijk, zonder dat er persé vanaf 95 ingevuld moet worden

zichtbaar maken:
knop alles: maar dan mag rij 1 t/m 94 niet meegenomen worden
van:
t/m:

is het mogelijk, op het moment dat er bij optie "van:" 0 ingevuld wordt of enter wordt gegeven, er geen foutmelding komt
en toch vanaf rij 95 zichtbaar gemaakt wordt?

ben benieuwd
alvast bedankt voor je reactie

gr Toin
 
Ik wil er best even naar kijken maar dan heb ik wel een relevant voorbeeld nodig. Het document dat je plaatste heeft dat bijlange niet. En moet er dan in plaats van 95 een 1 worden ingevuld terwijl de code dan bij 95 begint? Is dat wel handig voor de gebruiker? Bij een 0 alles vanaf 95 zichtbaar maken is geen probleem. Is er ook een maximum regelnummer?

Het voorbeeld heb ik niet zozeer nodig om de code erop aan te passen maar wel om ervoor te zorgen dat direct de juiste waarden worden gebruikt zonder dat je er zelf dingen aan moet wijzigen.
 
Laatst bewerkt:
Hoi Edmoor,

bedankt voor je reactie en hulp

concreet wil ik op blad "laatste revisie" een aantal rijen eenvoudig kunnen verbergen
rijnr. 1 moeten altijd verborgen blijven
rijnr. 7 t/m 8 altijd zichtbaar
rijnr. 9 t/m 87 altijd verbergen
vanaf rij 91 wil ik var. rijen kunnen verbergen, zowel rijnr var. als aantal rijen
het laatste rijnr. is variabel

verbergen:
vanaf: een getal ingevuld van 0 t/m 90 moet vanaf rij 91 gaan verbergen, kan dit ook zonder dat hier een waarde ingevuld wordt (enter oid.? dit heeft mijn voorkeur
want ik wil zo min mog. klikken
t/m: laatste rijnr dat verborgen moet worden

zichtbaar maken:
alles: knop bv. ok of enter, waarbij alles zichtbaar wordt, behalve rij 9 t/m 87
vanaf: een getal ingevuld van 0 t/m 90 moet rij 1 t/m 8 en vanaf 91 zichtbaar maken (enter knop)
t/m: laatste rijnr dat zichtbaar moet worden

ik heb al een knop aangemaakt "Regels Verbergen" M7
volgens jouw voorbeeld
werkt tot op zekere hoogte
ik merk op dat wanneer ik het commando uitvoer, jouw (excel)bestandje met knop1 geopend wordt ??

ik wil er graag van leren, indien mogelijk een korte uitleg hoe eea gedaan is.
ik heb het bestandje bijgevoegd

gr
Toin
 

Bijlagen

Dat hij mijn documentje opent komt omdat je dit als macro aan de knop hebt gehangen:
'C:\Users\Ed\AppData\Local\Temp\rijen verbergen (4).xlsm'!Knop1_Klikken

Maak dat eerst even in orde.
 
Hoi Edmoor,

bedankt voor je input, echter ik krijg het niet werkend
heb wat zitten bedenken en ben hiermee weer aan de slag gegaan om het te vereenvoudigen !??

ik heb macro gemaakt voor het verbergen van rijen in een bep. bereik
echter het lukt me niet het bereik variabel te maken

wat wil ik:
werkblad is beveiligd met wachtwoord "test"
vervolgens wisselend bereik verbergen met voorwaarde dat er, op het moment dat er in kolom A géén waarde staat ingevuld deze rij verborgen moet worden
hierbij opgemerkt dat rij 1 t/m bv 8 altijd verborgen moet blijven
vervolgens printen in 2-voud
vervolgens verbergen ongedaan maken
vervolgens weer wachtwoord test instellen

hoe maak ik zo iets?
ter verduidelijking bijlage bijgesloten

ben benieuwd
 

Bijlagen

Voor het verbergen en weer zichtbaar maken kan je het autofilter gebruiken.

Code:
Sub VenA()
With Sheets(1)
    .Range("A9:A" & Cells(Rows.Count, 1).End(xlUp).Row).AutoFilter 1, "<>"
    .PrintPreview '.printout
    .[A9].AutoFilter
End With
End Sub
 
hoi VenA

bedankt voor je input

ik heb de code iets aangepast, werkt goed
alleen toch nog een vraagje
kan ik ook op een groter bereik filteren?


With Sheets(5)
.Range("A9:C" & Cells(Rows.Count, 1).End(xlUp).Row).AutoFilter 1, "<>"
.PrintPreview '.printout
.[A9:C].AutoFilter
End With
End Sub

als ik het zo doe, dan werkt het niet meer

verder:
ik heb verschillende tabbladen
kan ik ipv. sheets(5) wijzigen in bv. naam van het werkblad INPUT?
 
Met <F8> kan je door de code lopen om te zien waar het fout gaat. Dit zal bij jou op deze regel gebeuren.
Code:
.[A9:C].AutoFilter
[A9:C] is geen geldig bereik .[A9].autofilter = voldoende.

De naam van de tab kan je inderdaad opnemen het wordt dan Sheets("INPUT")
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan