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

tabel sorteren

  • Onderwerp starter Onderwerp starter sucre
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

sucre

Gebruiker
Lid geworden
27 okt 2007
Berichten
146


Hallo,

Ik heb deze tabel in exel gemaakt voor een klein onderzoekje als voorbeeld. Nu kun je door steeds alles te selecteren, wel sorteren maar, is er een functie om op bijv de titel te klikken om die eigenschap te selecteren(alle andere informatie moet ook weer meegaan) van klein naar groot of andersom? Ik heb zelf in exel eigenlijk niks kunnen vinden.


Alvast bedankt.

Groeten,

Suc
 
Sucre, Zet dit blokje in de Sheetmodule van de sheet waar de code werkzaam moet zijn.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    If Not Intersect(Target, Range("A1:F1")) Is Nothing Then
        UsedRange.Sort Key1:=Range(Target.Address), Order1:=xlAscending, Header:= _
            xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    End If

End Sub
Dmv dubbelklikken op de header zal de tabel worden gesorteerd op de kolom waarop geklikt is.

Groet. Leo
 


Hallo,

Ik heb deze tabel in exel gemaakt voor een klein onderzoekje als voorbeeld. Nu kun je door steeds alles te selecteren, wel sorteren maar, is er een functie om op bijv de titel te klikken om die eigenschap te selecteren(alle andere informatie moet ook weer meegaan) van klein naar groot of andersom? Ik heb zelf in exel eigenlijk niks kunnen vinden.


Alvast bedankt.

Groeten,

Suc


Waarom die hyperlinks aanwezig zijn in de tabel ontgaat me totaal = SPAM !! :mad:
 
Dat zal een gratis hostingsite zijn vermoed ik.
 
...en de oplossing in post 2 dan???:o

Groet, Leo
 
...Ik heb de code voor de gein nog een stukje uitgebreid. Als je nu meerdere keren op de header klikt wordt er beurtelings gekozen voor A-Z of Z-A sortering.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Sorteer As String
Dim iAsort As Integer, iDsort As Integer

    If Not Intersect(Target, Range("A1:F1")) Is Nothing Then
        'bepaal hoe het bereik gesorteerd is
        For Each c In Columns(Target.Column).SpecialCells(xlCellTypeConstants)
            If c.Value <= c.Offset(1).Value Then
                iDsort = iDsort + 1
            Else
                iAsort = iAsort + 1
            End If
        Next c
            
        'vul de variabele met de juiste sorteervolgorde adhv bovenstaande uitkomst
        If iAsort <= iDsort Then
            Sorteer = xlDescending
        Else
            Sorteer = xlAscending
        End If
        
        Target.Sort Key1:=Range(Target.Address), Order1:=Sorteer, Header:= _
            xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    End If

    'haal de targetcel uit de edit-mode
    Target.Offset(1).Select

End Sub

Groet, Leo
 
...Ik heb de code voor de gein nog een stukje uitgebreid. Als je nu meerdere keren op de header klikt wordt er beurtelings gekozen voor A-Z of Z-A sortering.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Sorteer As String
Dim iAsort As Integer, iDsort As Integer

    If Not Intersect(Target, Range("A1:F1")) Is Nothing Then
        'bepaal hoe het bereik gesorteerd is
        For Each c In Columns(Target.Column).SpecialCells(xlCellTypeConstants)
            If c.Value <= c.Offset(1).Value Then
                iDsort = iDsort + 1
            Else
                iAsort = iAsort + 1
            End If
        Next c
            
        'vul de variabele met de juiste sorteervolgorde adhv bovenstaande uitkomst
        If iAsort <= iDsort Then
            Sorteer = xlDescending
        Else
            Sorteer = xlAscending
        End If
        
        Target.Sort Key1:=Range(Target.Address), Order1:=Sorteer, Header:= _
            xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
            DataOption1:=xlSortNormal
    End If

    'haal de targetcel uit de edit-mode
    Target.Offset(1).Select

End Sub

Groet, Leo

Leo, mij lijkt het een zeer nuttige aanvulling. De sorteervolgorde wordt nu telkens omgekeerd bij het aanklikken. Voor alle duidelijkheid, er komt geen keuzemenutje o.d. waar de keuze gemaakt moet worden. Lijkt me ook overbodig. Met dank voor je "toegift". Ton
 
Moet ik die code in EXEL invullen?

Sorry dat ik hier zo niet actief ben zit midden in de toetsen:
)
 
Moet ik die code in EXEL invullen?)

Dat is nogal omslachtig.

Wat je kan doen is te kiezen voor extra - macro - visual basic editor.
Kies vervolgens voor Beeld - Projectverkenner.
Klik met je rechtermuisknop op de betreffende werkblad en kies voor Programmacode weergeven.
Plak daar de code in.

Met vriendelijke groet,


Roncancio
 
Gemakkelijker: Klik met je rechtermuisknop op de tab van het betreffende werkblad en kies voor Programmacode weergeven.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan