Avatar billede Claus Mester
06. marts 2021 - 07:53 Der er 3 kommentarer og
1 løsning

Apps script sheets: sortere range, ikke row

Er det muligt at kode en funktion, der sortere et område (F6:J12), uden at påvirke hele rækken (A6:J12)?

Jeg har eksperimenteret med googles indbyggede funktion "sorter", ved først at markere en del af området, (F6-F12), hvilket fint udelukkende sortere det område, uden at sortere hele rækken. Men når jeg markere det hele (F6:J12), så sorteres A6:D12 også, og det er ikke ønskværdigt.

Se evt screenshot her: https://ibb.co/zXQNRFs
Avatar billede erikjacobsen Ekspert
06. marts 2021 - 10:42 #1
Det bør Google Sheets sagtens kunne klare. Jeg lavede en lille funktion i et script:

function myFunction() {
    SpreadsheetApp.getActiveSpreadsheet()
  .getSheetByName("Sheet1").getRange("C4:D11").sort(3);
}

Og så fik jeg lavet en knap, der udløste funktionen. Og det blev kun rektanglet C4 til D11 der blev sorteret efter C-søjlen.
Avatar billede Claus Mester
06. marts 2021 - 17:38 #2
Hmm. Jeg får fejlen ""Exception: Cell reference out of range", når jeg kører koden:

function sortOne() {
  SpreadsheetApp.getActiveSpreadsheet()
  .getSheetByName("sheetName").getRange("F6:J12").sort(3);
}

Er det "sort(3)" der udløser den?
Avatar billede erikjacobsen Ekspert
06. marts 2021 - 18:51 #3
Så vidt jeg fik sjusset mig frem til vil dit 3-tal svare til C-kolonnen. Andre steder er det vist anderledes.  Prøv med 6 for F-kolonnen, 7 for G osv.
Avatar billede Claus Mester
06. marts 2021 - 19:55 #4
Fantastisk! Det virkede. Tusinde tak!

Lige bortset fra, at sorteringen var stigende, men jeg rettede den så den passer til mit behov:

function sortOne() {
  SpreadsheetApp.getActiveSpreadsheet()
  .getSheetByName("sheetName").getRange("F6:J12").sort({column: 6, ascending: false});
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester