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

Data filteren en sorteren

Status
Niet open voor verdere reacties.

HuubBakker

Gebruiker
Lid geworden
28 dec 2008
Berichten
31
Hallo Forum,
Ik heb enkele vraagjes.
1: Is het mogelijk om Data-Filter-Autofilter te gebruiken in een beveiligd werkblad.
Ik heb een gedeelte voor invoer vrijgegeven en het werkblad standaard beveiligd.
2: Ik heb een macro gemaakt om data in het werkblad te sorteren.
Als ik deze uitvoer gaat het mis

Code:
Sub Sorteren()
    Range("A12:BL411").Select
    Selection.Sort Key1:=Range("A12"), Order1:=xlAscending, Header:=xlNo, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    Range("A12").Select
End Sub

In het bereik A12:BL411 staan kolommen met harde data evenals kolommen met formules.
In de kolommen A:K staan vaste projektgegevens, in de kolommen L:BL staan formules en harde data.
Naast het sorteerbereik zijn 3 kolommen BM:BO die de totalen van de rijen optellen.
De totalen van deze kolommen worden in een ander werkblad overgenomen en gebruikt voor visualisatie in enkele grafieken.
Kolom A bevat de 1e sorteervolgorde, G (Gereed) L (Lopend) V (Voorraad)
Kolom G bevat de 2e sorteervolgorde, de Startweek 1 t/m 53, nu niet meegenomen in de macro.
Bovendien zou het geheel moeten draaien in een beveiligd werkblad

Voor mij een hele kluif.
Heeft iemand hier ervaring me???
Als iemand hier iets mee kan zal ik een bestandje aanmaken en later posten.

Bij voorbaat dank.

Huub
 
Laatst bewerkt door een moderator:
Huub,
Ik zou beginnen in een onbeveiligde situatie en met behulp van de macrorecorder die bewerkingen te doen die je zou willen.
Wat gebeurt er dan ? Is dat wat je beoogt ? Wijkt die af van hetgeen je hiet geschreven hebt ?
De volgende stap beveiligen komt later.
Succes, Ton
 
Hallo Ton,
Zo ben ik inderdaad begonnen, mijn wekblad is nog steeds onbeveiligd
Op de een of andere manier slaan de formules op tilt.
Moet ik de 3 kolommen warin de totalen worden berekend ook meesorteren?
Deze verwijzen naar de naastgelegen rij, dus dat zou niet hoeven, of ben ik nu te kort door de bocht.
Ik heb de macro aan een knop hangen. De knop refereerd naar een ander werkvel, waarin de macronamen staan (via Data-Valideren).
Ik ben nog aan het testen, maar heb enkele keren gecrachte formules overgehouden
Groet Huub
 
Huub, Hoop dat je nog een goed werkblad hebt veiliggesteld.

Wat wil je sorteren, de rijen of kolommen ?
Als je rijen wilt sorteren moet het sorteerbereik alle RIJEN zijn die te sorteren data bevatten (dus kop en optelling e.d. aan de onderzijde niet).
Ton
 
Hallo Ton,

Ja ik heb natuurlijk een kopietje, ben dat inmiddels wel gewend.
Voordat ik ga stoeien maak ik eerst een kopietje op datum.
Ik wil een bereik zoals aangegeven in mijn eerste posting sorteren.
Het vreemde is dat de sortering loopt als ik handmatig het bereik angeef, alle opties van sorteervolgorde enz aanklik/invul en dan ok klik.
Dit is exact de procedure herhalen die ik in eerste instantie heb doorlopen met het opnemen van de macro.
Ook dit heb ik gecontroleerd door de macro meerdere malen op te nemen en te vergelijken.
Laat ik de macro lopen vanuit mijn keuzeknop, krijg ik een fout #WAARDE! in de formule velden.
Heel vreemd, als ik de formules bekijk lijken ze toch goed te zijn.

Enig idee???

Huub
 
Hallo Huub,
Er moet een verschil zijn tussen je geschreven codes en de opgenomen macro.
Als je bestand geen gevoelige info bevat zou je het kunnen posten, dan kan ik er na kijken. Emailen naar mijn adres mag ook.
Ton
 
Ik heb zojuist de macro opnieuw opgenomen en het sorteren is goed gegaan.
Daarna heb ik de oude en de nieuwe macro vergeleken ... geen verschil.
Ik heb de nieuwe gecopieerd in een niet gesorteerd exemplaar en de macro laten draaien door de knop. Crach ..... #WAARDE! fout in de formulecellen.
Om te posten is hij te groot en zou ik er een hoop in moeten aanpassen.
Er staan namelijk veel verwijzingen naar een ander werkvel.
Daardoor is het overzicht waarschijnlijk weg.
Hij is nu ca 6Mb
Bestaat er trouwens zoiets als "comprineren en herstellen" zoals in access?
Groet Huub
 
Hub,
Heb je de opgenomen macro een andere naam gegeven dan "Sorteren" ? Run opgenomen macro eens vanuit de VBA-omgeving en beoordeel het resultaat.
Gr. Ton
 
Hub,
Heb je de opgenomen macro een andere naam gegeven dan "Sorteren" ? Run opgenomen macro eens vanuit de VBA-omgeving en beoordeel het resultaat.
Gr. Ton

Hallo Ton,

Nog even getest... zo staat de macro in mijn bestand

Code:
Sub Sorteren()

    Range("A12:BL411").Select
    Selection.Sort Key1:=Range("A12"), Order1:=xlAscending, Key2:=Range("B12" _
        ), Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False _
        , Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _
        xlSortNormal
        
End Sub
Als ik hem run gaat het fout

Hieronder staat de makro die ik opneem
Ik start macro opnemen en ga alle stappen na om te selecteren en uit te voeren.
Na OK klikken draait alles perfect en is het werkvel op de juiste wijze gesorteerd.

Dit is de opgenomen macro.

Sub Macro1()
'
' Macro1 Macro
' De macro is opgenomen op 4-1-2009 door Huub Bakker.
'
    Range("A12:BL411").Select
    Selection.Sort Key1:=Range("A12"), Order1:=xlAscending, Key2:=Range("B12" _
        ), Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False _
        , Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _
        xlSortNormal
End Sub

Als ik hem kopieer in een ongesorteerde versie en hem dan draai via mijn knop of via de Visual Basic werkbalk met Macro Uitvoeren gaat het mis.
Voor mij onverklaarbaar.

Huub
 
Laatst bewerkt door een moderator:
(door problemen bij Helpmij kon ik niet eerder reageren)
Heel erg vreemd. Wat ik niet goed begrijp in je verhaal dat je de codes kopieert.
Begin eens met een kopie van het originel document. Verwijder daarin de macro en de genoemde keuzeknop.
Vervolgens neem de de sorteerroutine op met de macrorecorder en test. Krijg je nog steeds problemen run dan de macro stap voor stap en controleer de resultaten van elke stap. Nu zou je te weten moeten komen bij welke code het mis gaat.
Succes, Ton
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan