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

Status
Niet open voor verdere reacties.

druijtshap

Gebruiker
Lid geworden
1 apr 2019
Berichten
30
Goedemiddag,

misschien een ingewikkelde vraag.
Maar in bijgaand bestand wordt op tabblad "Download"gegevens ingeladen.
Naar aanleiding van deze gegevens wordt op tabblad "Plan" de datum aangepast en wordt de macro "reset board" gestart.
Als ik die nu start en ik pas de layout van blad "DezeWeek" aan naar de layout van "NextWeek" dan werkt de macro niet meer.
Ook alle lijnen verdwijnen dan.
Hoe pas ik dit aan?
 

Bijlagen

  • Tilburg planningboard SAP 2019 test.xls
    1,1 MB · Weergaven: 46
Misschien eens wat uitleg geven hoe al die code in elkaar steekt en deze dan sterk vereenvoudigen?

Bv. Als de kolommen in de download niet altijd op dezelfde plaats staan en je wil de tabel toch sorteren dan is zoiets ook wel voldoende.
Code:
Private Sub GetDownloadColumns()
  Dim j As Long, r As Long, ar, ar1
  With Sheets("download")
    ar = .Cells(1).CurrentRegion
    ar1 = Array("RESOURCE", "PRODUCT NUMBER", "PRODUCT SHORT DESCRIPTION", "START DATE", "START TIME", "END DATE", "END TIME", _
    dColResource, dColProduct, dColProdName, dColStartDate, dColStartTime, dColEndDate, dColEndTime)
      For j = 0 To 6
      ar1(j + 7) = Application.Match(ar1(j), .Rows(1), 0)
    Next j
    .Cells(1).CurrentRegion.Sort .Cells(1, ar1(7)), , .Cells(1, ar1(10)), , , .Cells(1, ar1(11)), , xlYes
  End With
End Sub

Of als je gebruik maakt van een echte tabel (listobject) kan je wat doen met header.
Code:
Sub VenA()
  Sheets("DOWNLOAD").ListObjects(1).Range.Sort Range("Table1[Resource]"), , Range("Table1[Start Date]"), , , Range("Table1[Start Time]"), , xlYes
End Sub
 
Laatst bewerkt:
Voor een tabel (Listobjects) lijkt me dit voor alle talen geschikter (Table1 <> Tabel1).

Code:
Sub hsv()
 With Sheets("download").ListObjects(1)
 .Range.Sort .ListColumns("Resource"), , .ListColumns("Start date"), , , .ListColumns("start Time"), , xlyes
 End With
End Sub
 
Heb dit bestand van iemand overgenomen echter de macro's zitten behoorlijk ingewikkeld in elkaar.
Waar moet ik dan inplakken?

Private Sub GetDownloadColumns()
Dim j As Long, r As Long, ar, ar1
With Sheets("download")
ar = .Cells(1).CurrentRegion
ar1 = Array("RESOURCE", "PRODUCT NUMBER", "PRODUCT SHORT DESCRIPTION", "START DATE", "START TIME", "END DATE", "END TIME", _
dColResource, dColProduct, dColProdName, dColStartDate, dColStartTime, dColEndDate, dColEndTime)
For j = 0 To 6
ar1(j + 7) = Application.Match(ar1(j), .Rows(1), 0)
Next j
.Cells(1).CurrentRegion.Sort .Cells(1, ar1(7)), , .Cells(1, ar1(10)), , , .Cells(1, ar1(11)), , xlYes
End With
End Sub
 
Niet vervelend bedoeld maar jouw bestand is inmiddels al 22 keer bekeken het onderwerp al 227 keer. Als je zelf niet eens weet hoe het geheel in elkaar steekt kan je van de helpers niet verwachten dat er een oplossing komt. Ik zou diegene die het bestand gemaakt heeft eerst maar eens raadplegen en anders even iemand inhuren die er mogelijk wel wat van kan maken.

Een gevleugelde uitspraak hier is: gebruik geen code die je zelf niet begrijpt.:d
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan