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

VBA code om meerdere kolommen te sorteren

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

dbk

Gebruiker
Lid geworden
8 aug 2008
Berichten
33
Hallo,

Ik heb op dit forum een VBA code gevonden om twee kolommen te sorteren.
Graag zou ik deze willen uitbreiden met meerdere kolommen.

Hieronder volgt de code zoals ik hem nu gebruik voor twee kolommen:
Code:
Sub sorteren_systeemdeel_per_uitvoerende2()
  Application.Calculation = False
    With Blad03.Range( _
        "A9:AG150")
      .Sort .Columns(4), , .Columns(5)
      End With
  Application.Calculation = True
End Sub

Het is nu de bedoeling dat hij gaat sorteren vanaf kolom 4 tot en met 33.

Kan iemand mij helpen?

Alvast bedankt!

groet,
DBK
 
Hallo,

Ik denk dat je met de FOR ...NEXT methode moet werken.
Dus zoals dit voorbeeld
Code:
Sub sorteren_systeemdeel_per_uitvoerende2()
  Application.Calculation = False
  For i = 4 To 33
    With [Blad03!A9:AG150]
      .Sort .Columns(i)
    End With
  Next
  Application.Calculation = True
End Sub
Met vr gr
Jack
 
Laatst bewerkt:
Beste Jack,

De VBA code overgenomen, maar helaas werkt hij niet.
Hij geeft de foutmelding:

Code:
Fout 424 tijdens uitvoering
Object vereist.


Met vriendelijke groet,
DBK
 
Hallo,

Kijk of je blad verwijzing juist is.
Bij mij werkt het nl wel.
Code:
Sub sorteren_systeemdeel_per_uitvoerende2()
  Application.Calculation = False
  For i = 4 To 33
    With [[COLOR="blue"]Blad03[/COLOR]!A9:AG150]
      .Sort .Columns(i)
    End With
  Next
  Application.Calculation = True
End Sub
Of plaats een voorbeeld bestandje.
Met vr gr
Jack
 
Laatst bewerkt:
Hallo,

Ik heb je code aangepast en zou het zo wel moeten doen.
Code:
Sub sorteren_systeemdeel_per_uitvoerende2()
  Application.Calculation = False
    With Sheets("Uitvoerenden per systeemdeel")
      For i = 4 To 33
        .[A9:AG150].Sort key1:=.Columns(i), Order1:=xlAscending
      Next
    End With
  Application.Calculation = True
End Sub
Met vr gr
Jack
 
Laatst bewerkt:
Goedemorgen Jack,

Bedankt voor de code (en het aangepaste bestand).
De code doet precies wat ik verwacht.

Bedankt!

Groet,
DBK
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan