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

Verdelen over tabbladen

Status
Niet open voor verdere reacties.

Dtox

Gebruiker
Lid geworden
23 apr 2019
Berichten
14
Hallo,

Ik ben op zoek naar een manier om verschillende namenlijsten (in verschillende tabbladen) te sorteren op de eerste letter van de achternaam. En dan deze dan weer te geven in een tabblad op die eerste letter. Dus dan dat hij automatisch bij tabblad 'A' alleen alle achternamen die beginnen met de letter A daarin zet uit alle tabbladen (in het voorbeeld de tabbladen Bedrijf 1 t/m 4).

Mijn kennis van Excel redelijk, dus ik hoop dat het uitgelegd kan worden in een beetje Jip en Janneke taal ;)

Ik hoop dat ik het een beetje duidelijk heb uitgelegd.
 

Bijlagen

  • Lijsten.xlsx
    29,5 KB · Weergaven: 34
Probeer deze eens:

Code:
Sub SjonR()

For Each sh In Sheets
    If Len(sh.Name) > 1 Then
        For Each cl In sh.Range("B5:B" & sh.Range("B" & Rows.Count).End(xlUp).Row)
            With Sheets(Left(cl, 1))
                Lr = .Range("B" & Rows.Count).End(xlUp).Row + 1
                .Cells(Lr, 2) = cl
            End With
        Next
    End If
Next
End Sub

Werkt pas goed als er voor elke letter een tabblad is aangemaakt.
 
Bedankt voor je reactie!

Ik ben hier totaal niet mee bekend, maar ik dacht ik zoek het eerst even zelf uit voordat ik begin te roepen. Het is helaas niet gelukt.
Ik heb gezocht op het maken van VBA codes en hoe ik deze moet invoeren. Ik heb dan een tabblad aangeklikt en jouw code bij invoegen -> module ingevoerd. als ik dan vervolgens op opslaan klik dan staat er 'De volgende zaken kunnen niet worden opgeslagen in werkmappen zonder macro's: VB-Project' Dan klik op 'JA' om zonder macro's op te slaan.
En dan zou ik als ik de functie toets gebruik de code moet kunnen vinden, maar hier loopt het spaak.

Ik heb mijn info van deze pagina vandaan: https://reinder.eu/blog/excel-vba/eigen-functie-maken-in-excel

Sorry voor mijn gebrek aan kennis...
 
De code in een module is juist, maar je moet het bestand opslaan met macro's.
Dus .xlsm of .xlsb extensie.
 
Ik doe ongetwijfeld iets verkeerd, maar het lukt me niet.
Ik heb hem nu opgeslagen als .xlsm (Excel-werkmap met macro's), maar hoe moet ik hem dan opvragen? Dan zou onder het kopje categorie toch een nieuwe categorie moeten verschijnen?
 
Met bv. Alt+F8 en uitvoeren.
Of de code aan een knop hangen, of enz.
 
Mij lijken 2 tabbladen wel voldoende als je het zonder VBA wil oplossen. Alles in losse tabjes geeft alleen maar problemen met het maken van overzichten.
 

Bijlagen

  • Lijsten.xlsx
    92,3 KB · Weergaven: 23
Laatst bewerkt:
@HSV, met ALT+F8 doet hij niks

@VenA, Bedankt dit ziet er wel mooi uit, maar ik denk niet dat ik het zo makkelijk uit kan printen. Ik zal het probleem even uitleggen misschien dat jullie er dan een ander alternatief voor hebben.

Op mijn werk krijgen wij bezoekerslijsten en ik wil deze allemaal op alfabet uitprinten en in een map met A,B,C enz stoppen.
De lijst die we nu hebben kan ik ook uitprinten, want deze staat op alfabet, maar dan krijg ik op bladzijde 1 zowel alle mensen met de letter A als met de letters B, en de letter B gaat dan bv verder op bladzijde 2. Dus als ik deze dan wil opdelen onder de tabbladen dan lukt dat niet.
Niet alle collega's kunnen makkelijk knippen en plakken (en dit kost ook veel tijd), vandaar dat ik dacht om voor alle letters van het alfabet een tabblad te maken zodat ik op 'hele werkmap afdrukken' kan klikken en zo per tabblad dus een A4'tje.
Misschien dat er ook een andere (makkelijkere) oplossing is voor dit probleem.
 
Code in een module. Alt+F11 → Menu Invoegen → Module.
Terug naar Excel.
Linker Alt+F8 dan uitvoeren.
 
Hoe worden deze bezoekerslijsten verwerkt? Voor het printen heb je echt geen 26 tabjes nodig. Hoe ziet de printlijst er uit? Als, niet onaardig bedoelt, niemand verstand heeft van Excel en VBA dan kan je het beste even een goed voorbeeldbestand plaatsen met een beschrijving van hoe het proces ingericht is. Zijn bezoekers niet bedrijfsgerelateerd? Zijn de bezoekers niet datumgerelateerd? In welke mappen wil je deze gesorteerde lijsten stoppen?
 
Wij krijgen de bezoekerslijst door gemaild en deze is gemaakt in Excel zoals ik in mijn eerste post heb geplaatst (alleen heb ik alle namen verwijderd, het zijn er rond 1000). Dit is voor 1 bedrijf met verschillende afdelingen.
Die afdelingen zijn voor ons niet relevant en daarom krijgen we de laatste tijd ook de bezoekerslijst in 1 tabblad, op alfabetische volgorde, maar als ik deze uit print hebben we ronde 40 velletjes en dat is heel lastig zoeken. Mijn gedachte was als ik dat nou uitprint en in een multomap doe met voor elke voorletter een tabblad dan is het veel sneller zoeken dan 40 velletjes door te bladeren.
Deze lijst wordt dagelijks opnieuw opgestuurd, dus elke dag knippen en plakken duurt veel te lang, vandaar mijn idee om de voorletters automatisch te rangschikken in elk een eigen tabbladen, zodat ook het printen met 1 druk op de knop is te realiseren.

Ik hoop dat ik het zo een beetje goed heb uitgelegd, ik wou er niet een te groot verhaal van maken. (mocht je het niet snappen dan moet je het even laten weten).


Ik heb een nieuw excel spread gemaakt, zo mag hij ook als het zo makkelijker is. Misschien is het zo wel wat overzichtelijker.
 

Bijlagen

  • Kopie van Lijsten.xlsx
    25 KB · Weergaven: 25
Of doe het zo. kies in de gele cellen een beginletter en of een bedrijf.
 

Bijlagen

  • Lijsten.xlsm
    22,7 KB · Weergaven: 31
Maar als ik dat doe dan duurt het nog heel lang voordat alle bezoekerslijsten zijn uitgeprint. Vandaar dat ik dacht om het automatisch per letter te rangschikken.
 
Code in een module. Alt+F11 → Menu Invoegen → Module.
Terug naar Excel.
Linker Alt+F8 dan uitvoeren.

Dit is ondertussen (eindelijk) gelukt! Bedankt!
Ik heb hier alleen nog wat vraagjes over.
Nu moet ik elke keer Alt+F8 indrukken en dan macro uitvoeren klikken om dit in gang te zetten, kan dit ook automatisch? Dus wanneer er een naam in het eerste blad wordt geplaatst dat deze dan automatisch ook in het juist tabblad wordt gezet?
En hoe moet ik deze actie ongedaan maken? Want als ik nu iemand wil toevoegen en ik druk weer alt+F8 en uitvoeren dan komen de namen er dubbel in te staan.
En kan met deze zelfde actie ook een tweede kolom worden toegevoegd? Als ik b.v. achter de naam de afdeling wil plaatsen?

Ik heb hem nu zo:
 

Bijlagen

  • Kopie van Lijsten-3.xlsm
    96,4 KB · Weergaven: 25
Maak eens een goed voorbeeld. Het stelt binnen VBA niet zoveel voor om lijsten op alfabet te printen met verschillende printopdrachten. Alleen luistert VBA nogal nauw. Je hebt nu nog maar 1 bedrijf in het voorbeeld staan. En veel verder dan de code uit #2 ben je blijkbaar niet gekomen.
Bestaat de printlijst alleen uit de namen? Lees de eerder gestelde vragen nog eens rustig door en beantwoord ze zorgvuldig. Het zal de meesten een 'rotzorg' zijn of de gegevens via mail, website, fax, telex of per postduif binnenkomen. Het gaat erom hoe het in het bestand komt/verwerkt wordt.
 
daar heb je toch geen 26 bladen voor nodig
 

Bijlagen

  • Lijsten.xlsm
    25,1 KB · Weergaven: 20
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan