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

Macro gebruikt verkeerde volgorde

Status
Niet open voor verdere reacties.

Streetracah

Gebruiker
Lid geworden
10 feb 2011
Berichten
11
Mijn bestand bevat macro's die 2 cellen leeg moet maken en daarna moet sorteren. Echter maakt hij eerst bijv. Cel A1 leeg, dan sorteert hij, en vervolgens maakt hij pas B1 leeg. Dit is niet de volgorde in de macro en door deze volgorde gaat verkeerde informatie verloren. Ook als ik beide cellen in de macro selecteer alszijnde A1:B1, sorteert hij nog steeds eerder. Kolom B bevat een keuzelijst, ik weet niet of dit hiermee te maken heeft.
Wat kan er hier fout zijn gegaan?
En nog beter: hoe kan ik dit voorkomen?
alvast bedankt
 
zonder je bestand en de macro gezien te hebben is dat moeilijk te zeggen
 
Ik ben het eens met Jean-Paul.
Maar wat er gebeurt lijkt me logisch. Je wist de headers van het bereik dat je wil sorteren en dat bereik heeft dan geen 'kop' meer waarop moet worden gesorteerd. Haal A1 en B1 uit de sorteermacro, dan kun je die twee cellen wissen zonder dat ze van invloed zijn op het sorteren.
 
Het bestand kan ik niet geven i.v.m. vertrouwelijke informatie van mij werk.
De macro gaat als volgt:

Code:
    Range("A1").Select
    Selection.ClearContents
    Range("B1").Select
    Selection.ClearContents
    Range("A1:J217").Select
    Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Key2:=Range("B1") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
        :=xlSortNormal
    ActiveWindow.SmallScroll Down:=0
    Range("A1 ").Select

Het probleem is dat hij eerst sorteert en dan pas de nieuwe B1 leeg maakt. Dit zou de oude B1 moeten zijn.
 
Staat er in C1:J1 nog wat?
En zo ja, moet dat meedoen met de sortering?
 
Waar wil je op sorteren? op twee lege cellen? Plaats even een voorbeeldje. Vertrouwelijke info kan je vervangen door fictieve gegevens.
 
Bij deze dan het leeg gemaakte bestand.
Bij de locatiecode gaat het fout als ik de macro afmelden gebruik. Deze moet wel weg omdat hij meegeteld wordt in het installatieoverzicht.
 

Bijlagen

Om welke tab en welke macro gaat het? In rij 1 heb je alleen maar samengevoegde cellen staan en daar kan je niet op sorteren.
 
Ik zie niet wat er fout gaat.
Ik ben wel verbijsterd dat je voor elke rij een afzonderlijke aan- en afmeldingsmacro maakt, dat zal de werking er niet sneller op maken. Je moet 1 macro maken voor aan- en 1 macro voor afmelden en bij klikken op een knop naar die macro verwijzen waarbij je telkens een variabele die aangeeft op welke rij de actie moet plaatsvinden, wijzigt.
 
Waarom geen dubbelklik event? Aanwezig is omgekeerd gelijk aan niet aanwezig. Of het 1 is waar of het andere is waar. Dus een onnodige kolom.

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target = "X" Then Target = "" Else Target = "X"
With ActiveSheet.Sort
    .SortFields.Clear
    .SortFields.Add Key:=Range("H5:H201"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    .SortFields.Add Key:=Range("B5:B201"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    .SetRange Range("B4:J201")
    .Header = xlYes
    .Apply
End With
Target.Offset(1).Select
End Sub

Hiemee kan je alle knoppen weggooien! Het stukje sorteren kan nog wel beter maar volgens mij werkt het.
 

Bijlagen

De rede dat ik voor elke rij een knop met macro heb aangemaakt is omdat ik met collega's werk die totaal geen verstand hebben van computers. Het moet fool-proof worden.
Het dubbelklik event is nieuw voor mij. Die ga ik morgen even uitproberen.
Bedankt in ieder geval!
 
Volgens mij heb je geen enkel verstand van computers nodig om een applicatie te bedienen. En dan zou ik nog maar eens heel erg goed over jouw ontwerp nadenken. Als de "leken" elke keer ergens anders moeten zoeken waar ze wat aan kunnen geven dan wordt het er niet makkelijkere op.
 
@VenA,
- Mensen die weinig met een computer werken en veel ouderen hebben vaak moeite met dubbelklikken. Als de toekomstige gebruikers tot die groep behoren, zou ik het gebruik daarvan zeker niet aanraden.
- De vragensteller werkt vermoedelijk met Excel 2003 of eerder, waarschijnlijk zal jouw macro daarin niet werken.
@Streetracah,
Je hebt bij de knoppen "Aanmelden" de laatste 'n' vergeten.
Naam en knop(pen) kun je best dicht bij elkaar plaatsen, ander klikt men al gauw op een knop in de verkeerde rij.
 
Laatst bewerkt:
Eerlijk gezegd heb ik er nog nooit van gehoord dat mensen problemen hebben met dubbelklikken. En waarom denk je dat het in Xl-2003 of eerder niet zal werken?
 
Als je toch met de knoppen wilt blijven werken, hang dan onderstaande code aan elke afmeldknop.
Code:
Sub afmelden()
 Range(Sheets("Aanwezig").Shapes(Application.Caller).TopLeftCell.Address).Offset(, -5).Resize(, 3).ClearContents
 Range("B5:J217").Sort Range("B4"), , Range("D4")
End Sub
 
Eerlijk gezegd heb ik er nog nooit van gehoord dat mensen problemen hebben met dubbelklikken.
Dat wist ik tot voor kort ook niet en ik heb daar van staan kijken. Iemand heeft mij daar eens op gewezen en meegenomen naar een groep ouderen die met een computer leerden werken. Moet je ook eens doen!

En waarom denk je dat het in Xl-2003 of eerder niet zal werken?
Omdat ik uit vroegere ervaring weet dat sorteerroutines uit 2007 en hoger niet werkten in Excel 2002.
 
Daar was ik weer. Bij mij thuis werkte het dubbelklikken prima. Op het werk het sorteren helaas niet. Office 2003 :/
Zapatr heeft gelijk. Ik heb meerdere dingen gemaakt op het werk waar ze niets van begrijpen. Meeste zijn 50+. Verder staan de knoppen tegen elkaar en is aanmelden geheel beschreven. Excel heeft per pc vaak moeite met de zoom-functie.
De macro van HSV werkt super na wat aanpassinkjes. Bedankt voor de moeite.
 
Het is dan blijkbaar 50- onhandigheid om:

- samengevoegde cellen te gebruiken
- het onderscheid tussen de sorteermethodes in verschillende Office versies niet te kennen
- onbekend te zijn met doubleclick of Selection_change (zie bijlage)
- onbekend te zijn met boolean logic: 1 knop is voldoende voor 2 waarden (true/false)

Zie verder de bijlage van een 50+ -er
 

Bijlagen

@snb,
Even je sorteersleutel aanpassen ouwe. :D

Groeten van deze 50+ -er.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan