Gegevensvalidatie

Bram65

Gebruiker
Lid geworden
25 feb 2023
Berichten
161
Beste
Ik wil aan een cel een keuzelijst toevoegen.
Gegevens > Gegevensvalidatie > Gegevensvalidatie > Lijst
Bij Bron moet ik een bereik uit het sheet("Verborgen).Range(A1:A" & X) toevoegen waarbij X het gebruikte aantal beschreven cellen in die kolom is.

Ik ben gisteren en vandaag vanaf 03:00 uur aan het zoeken maar kan niet vinden hoe ik dit moet doen.
Elke keer wanneer een sheet wordt toegevoegd, wordt X dus met 1 verhoogd en wordt de lijst opnieuw ingelezen.
Kan iemand me helpen?

gr Bram
 
Je hebt het over een aantal cellen en een aantal sheets, maar X staat op de plek van het aantal rijen.
Dat maakt je vraag er niet duidelijker op.
Wellicht dat je een voorbeeld documentje kan plaatsen.
 
Maak er een tabel van.
 
ik heb het inmiddels opgelost door een listbox op het sheet te plaatsen en deze te vullen, werkt goed zo.
Bedankt voor jullie reacties en fijne zondag
 
En ook die is overbodig omdat je linksonder in het scherm de lijst van alle werkbladen kunt oproepen.
 
Of:
Code:
Sheet("Verborgen).Range("A1:A" & Sheets.Count)
 
Ik heb een voorbeeldbestandje gemaakt die duidelijk maakt wat ik bedoel te bereiken.
Telkens wanneer een sheet wordt aanmaak, wordt die lijst langeren moet de keuzelijst ook langer worden
 

Bijlagen

Dat kan met wat HSV in #3 al zei.
Wat dat met een nieuw gemaakte sheet te maken heeft is mij niet duidelijk.
 

Bijlagen

Laatst bewerkt:
Dank je @edmoor voor jouw voorbeeldbestandje. Ik heb deze goed bekeken en geprobeerd een tweede Excel-Tabel aan te maken. Dat lukt wel en ook het vullen van beide tabellen gaat goed. Ik krijg alleen mijn gemaakte tabel niet gelinkt aan de tweede gele cel in het Hoofd sheet.
 

Bijlagen

Kijk in Namen beheren (Ctrl-F3) hoe Tabel1 en Jaren aan elkaar gekoppeld zijn.
De melding over een benoemd bereik zegt het al.
Zorg tevens voor een goede beschrijvende naam bovenin de tabel.
 

Bijlagen

Laatst bewerkt:
Dank je @edmoor, was even pijnzen maar het is me gelukt. Nu inbouwen in mijn workbook.
Mochten er toch nog vragen zijn meld ik me weer.
 
Graag gedaan en success :)
 
Code:
Sub VulLijst()
    Dim sh As Object, c0
    For Each sh In Sheets
        If (sh.Name <> "Verborgen sheet") * (sh.Name <> "Hoofd sheet") Then
            c0 = c0 & sh.Name & "|"
        End If
    Next
    Sheets("Verborgen sheet").Cells(3, 1).Resize(Sheets.Count - 2) = Application.Transpose(Split(c0, "|"))
End Sub
 
Terug
Bovenaan Onderaan