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

Autosort spreadsheet bij datum

Status
Niet open voor verdere reacties.

jarno5684

Gebruiker
Lid geworden
17 sep 2008
Berichten
34
Hallo iedereen,

Ik heb al het een en ander hier rond gezocht, maar ik snap zelf vrij weinig (lees niks) van VBA dus ik kan er niet helemaal uitkomen.
Het "probleem" is namelijk het volgende.
Ik heb een worksheet, met op de 3e kolom (C) de maand, en de 4e kolom (D) is de dag.
Die wil ik graag automatisch gesort hebben elke keer als ik wat nieuws invul.
De eerste 38 rijen staan vol met andere data dan een datum, en als het kan wil ik graag dat excel alles autosort tot oneindig. Dus gewoon de hele kolom, behalve de eerste 38.
Ik ben er dus inmiddels achter dat het met macro's moet, maar ik weet dus nog niet hoe. Kunnen jullie mij hier bij helpen?

Bij voorbaat dank!
 
jarno5684,

Heb je al eens de macro recorder gebruikt?
Hij neemt alle handelingen die je doet op en schrijft de code voor je, kun naderhand proberen te vereenvoudigen.

Doe dit dan niet gelijk op het orginele bestandje maar op een kopie er van.
Suc6
 
Hi,

Bedankt voor de vlotte reactie. Van wat ik er van begrijp, als je zo'n macro record, moet je er een "knop" aan zetten om het te activeren. Het is juist de bedoeling om het automatisch te laten doen, zo gauw er een nieuwe datum in word gezet.
Word het dan meteen verschrikkelijk veel moeilijker, dan wel onhaalbaar, of valt dat nog wel een beetje mee?
 
ik heb zelf (nog) onvoldoende kennis van macro's.

maar van wat ik op dit forum gelezen heb, ga je waarschijknlijk wel geholpen worden.

dus het advies van excel amateur maar even opvolgen en een macro opnemen.

als je dat bestandje dan plaatst (en de code plaatst), zul je vast reactie krijgen hoe het beter kan.
 
Oke, op advies heb ik dit dus gedaan.
Ik weet dat je een knop er aan kan linken enzo, maar dat wil ik niet. Ik wil dat het automatisch gesort word als ik iets ingeeef. Ik ga er vanuit dat het moet kunnen, maar ik weet alleen nog niet hoe, kunnen jullie me hier mee helpen, of moeten jullie daar de hele file voor hebben?
Ik dit voorbeeld heb ik het "maar" tot 500 gedaan, maar het mooiste is dat het tot oneindig doorgaat.

Code:
Sub Sort()
'
' Sort Macro
'

'
    Rows("39:39").Select
    ActiveWindow.SmallScroll Down:=30
    ActiveWindow.ScrollRow = 60
    ActiveWindow.ScrollRow = 70
    ActiveWindow.ScrollRow = 73
    ActiveWindow.ScrollRow = 77
    ActiveWindow.ScrollRow = 80
    ActiveWindow.ScrollRow = 84
    ActiveWindow.ScrollRow = 85
    ActiveWindow.ScrollRow = 89
    ActiveWindow.ScrollRow = 90
    ActiveWindow.ScrollRow = 100
    ActiveWindow.ScrollRow = 104
    ActiveWindow.ScrollRow = 106
    ActiveWindow.ScrollRow = 107
    ActiveWindow.ScrollRow = 109
    ActiveWindow.ScrollRow = 111
    ActiveWindow.ScrollRow = 112
    ActiveWindow.ScrollRow = 116
    ActiveWindow.ScrollRow = 117
    ActiveWindow.ScrollRow = 119
    ActiveWindow.ScrollRow = 121
    ActiveWindow.ScrollRow = 124
    ActiveWindow.ScrollRow = 126
    ActiveWindow.ScrollRow = 127
    ActiveWindow.ScrollRow = 129
    ActiveWindow.ScrollRow = 131
    ActiveWindow.ScrollRow = 134
    ActiveWindow.ScrollRow = 136
    ActiveWindow.ScrollRow = 138
    ActiveWindow.ScrollRow = 139
    ActiveWindow.ScrollRow = 141
    ActiveWindow.ScrollRow = 143
    ActiveWindow.ScrollRow = 144
    ActiveWindow.ScrollRow = 146
    ActiveWindow.ScrollRow = 148
    ActiveWindow.ScrollRow = 149
    ActiveWindow.ScrollRow = 153
    ActiveWindow.ScrollRow = 154
    ActiveWindow.ScrollRow = 156
    ActiveWindow.ScrollRow = 158
    ActiveWindow.ScrollRow = 159
    ActiveWindow.ScrollRow = 161
    ActiveWindow.ScrollRow = 163
    ActiveWindow.ScrollRow = 165
    ActiveWindow.ScrollRow = 166
    ActiveWindow.ScrollRow = 170
    ActiveWindow.ScrollRow = 171
    ActiveWindow.ScrollRow = 173
    ActiveWindow.ScrollRow = 175
    ActiveWindow.ScrollRow = 176
    ActiveWindow.ScrollRow = 178
    ActiveWindow.ScrollRow = 180
    ActiveWindow.ScrollRow = 181
    ActiveWindow.ScrollRow = 183
    ActiveWindow.ScrollRow = 185
    ActiveWindow.ScrollRow = 186
    ActiveWindow.ScrollRow = 188
    ActiveWindow.ScrollRow = 190
    ActiveWindow.ScrollRow = 193
    ActiveWindow.ScrollRow = 197
    ActiveWindow.ScrollRow = 198
    ActiveWindow.ScrollRow = 200
    ActiveWindow.ScrollRow = 203
    ActiveWindow.ScrollRow = 205
    ActiveWindow.ScrollRow = 207
    ActiveWindow.ScrollRow = 208
    ActiveWindow.ScrollRow = 210
    ActiveWindow.ScrollRow = 212
    ActiveWindow.ScrollRow = 213
    ActiveWindow.ScrollRow = 215
    ActiveWindow.ScrollRow = 218
    ActiveWindow.ScrollRow = 220
    ActiveWindow.ScrollRow = 222
    ActiveWindow.ScrollRow = 224
    ActiveWindow.ScrollRow = 225
    ActiveWindow.ScrollRow = 227
    ActiveWindow.ScrollRow = 229
    ActiveWindow.ScrollRow = 230
    ActiveWindow.ScrollRow = 232
    ActiveWindow.ScrollRow = 234
    ActiveWindow.ScrollRow = 235
    ActiveWindow.ScrollRow = 237
    ActiveWindow.ScrollRow = 239
    ActiveWindow.ScrollRow = 240
    ActiveWindow.ScrollRow = 242
    ActiveWindow.ScrollRow = 244
    ActiveWindow.ScrollRow = 245
    ActiveWindow.ScrollRow = 247
    ActiveWindow.ScrollRow = 249
    ActiveWindow.ScrollRow = 251
    ActiveWindow.ScrollRow = 252
    ActiveWindow.ScrollRow = 254
    ActiveWindow.ScrollRow = 257
    ActiveWindow.ScrollRow = 259
    ActiveWindow.ScrollRow = 261
    ActiveWindow.ScrollRow = 262
    ActiveWindow.ScrollRow = 264
    ActiveWindow.ScrollRow = 266
    ActiveWindow.ScrollRow = 267
    ActiveWindow.ScrollRow = 269
    ActiveWindow.ScrollRow = 271
    ActiveWindow.ScrollRow = 272
    ActiveWindow.ScrollRow = 274
    ActiveWindow.ScrollRow = 276
    ActiveWindow.ScrollRow = 278
    ActiveWindow.ScrollRow = 279
    ActiveWindow.ScrollRow = 281
    ActiveWindow.ScrollRow = 283
    ActiveWindow.ScrollRow = 284
    ActiveWindow.ScrollRow = 286
    ActiveWindow.ScrollRow = 288
    ActiveWindow.ScrollRow = 289
    ActiveWindow.ScrollRow = 291
    ActiveWindow.ScrollRow = 293
    ActiveWindow.ScrollRow = 294
    ActiveWindow.ScrollRow = 296
    ActiveWindow.ScrollRow = 298
    ActiveWindow.ScrollRow = 299
    ActiveWindow.ScrollRow = 301
    ActiveWindow.ScrollRow = 303
    ActiveWindow.ScrollRow = 304
    ActiveWindow.ScrollRow = 306
    ActiveWindow.ScrollRow = 308
    ActiveWindow.ScrollRow = 310
    ActiveWindow.ScrollRow = 311
    ActiveWindow.ScrollRow = 313
    ActiveWindow.ScrollRow = 315
    ActiveWindow.ScrollRow = 316
    ActiveWindow.ScrollRow = 318
    ActiveWindow.ScrollRow = 321
    ActiveWindow.ScrollRow = 323
    ActiveWindow.ScrollRow = 325
    ActiveWindow.ScrollRow = 326
    ActiveWindow.ScrollRow = 328
    ActiveWindow.ScrollRow = 331
    ActiveWindow.ScrollRow = 333
    ActiveWindow.ScrollRow = 335
    ActiveWindow.ScrollRow = 337
    ActiveWindow.ScrollRow = 338
    ActiveWindow.ScrollRow = 340
    ActiveWindow.ScrollRow = 343
    ActiveWindow.ScrollRow = 347
    ActiveWindow.ScrollRow = 348
    ActiveWindow.ScrollRow = 350
    ActiveWindow.ScrollRow = 353
    ActiveWindow.ScrollRow = 355
    ActiveWindow.ScrollRow = 357
    ActiveWindow.ScrollRow = 358
    ActiveWindow.ScrollRow = 360
    ActiveWindow.ScrollRow = 362
    ActiveWindow.ScrollRow = 365
    ActiveWindow.ScrollRow = 369
    ActiveWindow.ScrollRow = 370
    ActiveWindow.ScrollRow = 374
    ActiveWindow.ScrollRow = 375
    ActiveWindow.ScrollRow = 377
    ActiveWindow.ScrollRow = 379
    ActiveWindow.ScrollRow = 380
    ActiveWindow.ScrollRow = 384
    ActiveWindow.ScrollRow = 385
    ActiveWindow.ScrollRow = 387
    ActiveWindow.ScrollRow = 389
    ActiveWindow.ScrollRow = 390
    ActiveWindow.ScrollRow = 392
    ActiveWindow.ScrollRow = 394
    ActiveWindow.ScrollRow = 396
    ActiveWindow.ScrollRow = 397
    ActiveWindow.ScrollRow = 401
    ActiveWindow.ScrollRow = 402
    ActiveWindow.ScrollRow = 404
    ActiveWindow.ScrollRow = 406
    ActiveWindow.ScrollRow = 407
    ActiveWindow.ScrollRow = 409
    ActiveWindow.ScrollRow = 411
    ActiveWindow.ScrollRow = 412
    ActiveWindow.ScrollRow = 414
    ActiveWindow.ScrollRow = 416
    ActiveWindow.ScrollRow = 417
    ActiveWindow.ScrollRow = 419
    ActiveWindow.ScrollRow = 421
    ActiveWindow.ScrollRow = 423
    ActiveWindow.ScrollRow = 424
    ActiveWindow.ScrollRow = 426
    ActiveWindow.ScrollRow = 428
    ActiveWindow.ScrollRow = 429
    ActiveWindow.ScrollRow = 431
    ActiveWindow.ScrollRow = 433
    ActiveWindow.ScrollRow = 434
    ActiveWindow.ScrollRow = 436
    ActiveWindow.ScrollRow = 438
    ActiveWindow.ScrollRow = 439
    ActiveWindow.ScrollRow = 441
    ActiveWindow.ScrollRow = 443
    ActiveWindow.ScrollRow = 444
    ActiveWindow.ScrollRow = 446
    ActiveWindow.ScrollRow = 448
    ActiveWindow.ScrollRow = 449
    ActiveWindow.ScrollRow = 451
    ActiveWindow.ScrollRow = 453
    ActiveWindow.ScrollRow = 455
    ActiveWindow.ScrollRow = 456
    ActiveWindow.ScrollRow = 458
    ActiveWindow.ScrollRow = 460
    ActiveWindow.ScrollRow = 461
    ActiveWindow.ScrollRow = 463
    ActiveWindow.ScrollRow = 465
    ActiveWindow.ScrollRow = 466
    ActiveWindow.ScrollRow = 468
    ActiveWindow.ScrollRow = 470
    ActiveWindow.ScrollRow = 471
    ActiveWindow.ScrollRow = 473
    ActiveWindow.ScrollRow = 475
    ActiveWindow.ScrollRow = 476
    ActiveWindow.ScrollRow = 478
    ActiveWindow.ScrollRow = 480
    ActiveWindow.ScrollRow = 482
    ActiveWindow.ScrollRow = 483
    Rows("39:500").Select
    ActiveWorkbook.Worksheets("Tator Twirl P&L").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Tator Twirl P&L").Sort.SortFields.Add Key:=Range( _
        "C39:C500"), SortOn:=xlSortOnValues, Order:=xlAscending, CustomOrder:= _
        "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec", DataOption:=xlSortNormal
    ActiveWorkbook.Worksheets("Tator Twirl P&L").Sort.SortFields.Add Key:=Range( _
        "D39:D500"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Tator Twirl P&L").Sort
        .SetRange Range("A39:HH500")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan