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

VBA cellen zichtbaar/onzichtbaar maken

Status
Niet open voor verdere reacties.

whitetigerck

Gebruiker
Lid geworden
8 aug 2008
Berichten
196
Ik probeer met excel dmv een dropdownmenu sommige rijen cellen zichtbaar of onzichtbaar te maken. Ik heb deze code, maar hij werkt niet. Waarschijnlijk omdat ik de verkeerde waarde's heb gepakt na de if functie, ik weet niks van VBA dus dan weet je dat alvast :p

Dus wie weet wat ik moet vervangen?

Code:
Sub Cellen verbergen()
'
' Cellen verbergen Macro
'

'
    If .Value = "Cel 5t/m20 laten zien" Then
    
    Rows("5:65").Select
    Selection.EntireRow.Hidden = True
    Rows("5:20").Select
    Selection.EntireRow.Hidden = False
    Range("G2").Select
    
    If .Value = "Cel 21t/m35 laten zien" Then

    Rows("5:65").Select
    Selection.EntireRow.Hidden = True
    Rows("21:35").Select
    Selection.EntireRow.Hidden = False
    Range("G2").Select
    
    If .Value = "Cel 36t/m50 laten zien" Then
    
    Rows("5:65").Select
    Selection.EntireRow.Hidden = True
    Rows("36:50").Select
    Selection.EntireRow.Hidden = False
    Range("G2").Select
    
    If .Value = "Cel 51t/m65 laten zien" Then
    Rows("5:65").Select
    Selection.EntireRow.Hidden = True
    Rows("51:65").Select
    Selection.EntireRow.Hidden = False

    Range("G2").Select
End Sub
 
In cel B1 staat het getal van de 1e rij die je wilt laten zien. Bijv. 5
In cel B2 staat het getal van de 2e rij die je wilt laten zien. Bijv. 20

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Range("5:65").Rows.Hidden = True
If Not Intersect(Target, Range("B1:B2")) Is Nothing And WorksheetFunction.Count(Range("B1,B2")) = 2 Then
    Range("" & Range("B1") & ":" & Range("B2") & "").Rows.Hidden = False
End If
End Sub

Bovenstaande code verbergt de rijen 5 t/m 65 en toont de rijen die in b1 en b2 zijn aangegeven.

Met vriendelijke groet,


Roncancio
 
nee, dat bedoelde ik niet ;)

ik heb een dropdown menu gemaakt met 4 verschillende waarden:
Cel 5t/m20 laten zien
Cel 21t/m35 laten zien
Cel 36t/m50 laten zien
Cel 51t/m65 laten zien

en als ik 1 van die waarden kies bijv "Cel 5t/m20 laten zien" dan moet hij de cellen 5 t/m 65 onzichtbaar maken en de cellen 5t/m20 zichtbaar maken.
 
Code:
Sub zo()
  Rows("5:65").Hidden = True
  Rows(choose(combobox1.listindex+1,"5:20","21:35","36:50","51:65")).Hidden = False
End Sub
of
Code:
Sub ofzo()
  Rows("5:65").Hidden = True
  Rows("5:20").offset(combobox1.listindex*15).Hidden = False
End Sub
 
Laatst bewerkt:
dat werkt niet bij mij :confused:

Bij de eerste regel gaf hij al een foutmelding, maar die kon ik oplossen door

Code:
Rows("5:65").Select.EntireRow.Hidden = True

te vervangen door

Code:
Rows("5:65").Select
Selection.EntireRow.Hidden = True

alleen de laatste regels van wat jij geeft hij nu nog een foutmelding
 
Je moet de select verwijderen uit de code.
Dus:

Code:
  Rows("5:65").EntireRow.Hidden = True

De fout in de 2e regel komt omdat snb er vanuit gaat dat je een combobox hebt gebruikt om een keuze te bepalen.
Ik vermoed echter dat je gebruik heb gemaakt van een datavalidatie.

Met vriendelijke groet,


Roncancio
 
Laatst bewerkt:
het werkt nog steeds niet, ik heb bij de bijlage maar een bestand gedaan wat ik aan het doen ben, hopelijk lukt het dan wel

EDIT:
waarom kan ik die macro's niet uploaden hier?

maar ik heb deze code nu als macro:
Code:
Sub getal()
Rows("5:65").EntireRow.Hidden = True
Rows(Choose(combobox1.ListIndex + 1, "5:20", "21:35", "36:50", "51:65")).EntireRow.Hidden = False



End Sub
 

Bijlagen

  • getalvb.xlsx
    15,2 KB · Weergaven: 72
Laatst bewerkt:
Vorige suggestie aangepast (Entirerow is overbodig, select natuurlijk helemaal).
 
Laatst bewerkt:
werkt nog steeds niet:(

krijg de foutmelding object vereist

ik werk wel met een combobox zoals je al in het vb ziet
 
Laatst bewerkt:
kan niemand mij effe een simpel script geven van wat ik wil? Daar zou ik heel blij mee zijn:)

wat voor soort box ik gebruik kan je zien in de bijlage in mn vorige post.
 
kan niemand mij effe een simpel script geven van wat ik wil? Daar zou ik heel blij mee zijn:)

wat voor soort box ik gebruik kan je zien in de bijlage in mn vorige post.

Met onderstaande code lukt het wel.

Code:
Sub Titratiebepaling()
Rows("5:65").EntireRow.Hidden = True
Rows(Choose(ActiveSheet.Shapes(1).ControlFormat.Value, "5:20", "21:35", "36:50", "51:65")).Hidden = False

End Sub
Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan