Avatar billede Pdahl Juniormester
13. februar 2020 - 22:24 Der er 2 kommentarer

Sortering af range med blandet tekst og tal via VBA

En udfordrende Excel-opgave, som mangler en anvendelig løsning:

Et range ("P7:P1048576") bestående af en kolonne med LOPSLAG, returnerer en lang - men spredt - liste af 5- eller 6-cifrede numre, som enten kan være rent numeriske eller med et bagvedstillet bogstav. Således er "12345" f.eks. forskellig fra "12345A". Listen kan indeholde et variabelt antal rækker, op til 3-4000 rækker, eller flere?

Hele kolonnen kopieres nu (via VBA-kode) fra ét ark (med formler) til et nyt ark, hvor den indsættes "specielt" som "kun værdier".

Idet der er tale om en kopieret kolonne med rækker returneret fra et LOPSLAG, er der selvsagt mange mellemliggende "tomme" rækker.

For at fjerne de tomme rækker (og samle de indsatte numre pænt og sammenhængende), anvendes (ligeledes via VBA) almindelig EXCEL sorteringsfunktion (i stigende orden).

UDFORDRINGEN ER: - at tilsyneladende kun dataværdier, som IKKE indeholde bogstaver sorteres???

Resterende rækker med data (som også indeholder bogstaver), beholder deres indbyrdes rækkeafstand og placering langt nede i kolonnen, (med mange mellemliggende tomme rækker til de ovenstående)
De øvrige kun numeriske værdier samles og sorteres fint i stigende orden, uden tomme mellemliggende rækker.

Bonus Info:
Hvis de samme "originale" og "blandede" værdier, sorteres i en kolonne (meget lig opslagsmatrix'en, altså IKKE formler og IKKE kopieret og "specielt" indsat, kan Excel's sorterings-funktion sagtens håndtere alle data, også de data som indeholder bogstaver. Her sorteres ALLE værdier i pæn stigende orden (med numre uden bogstaver først, og numre med bogstaver i pæn sorteret forlængelse heraf.

MEN ! - min udfordring er netop, at jeg ønsker en samlet og pænt sorteret liste, KUN med data fra LOPSLAGET (- men ALLE data fra LOPSLAGET)

Jeg håber at et nogle (blandt dem jeg ikke har tabt undervejs i min lange forklaring) måske ligger inde med et par anvendelige guldkorn?

Jeg mistænker lidt at de "specielt" indsatte rækker (som er tomme), i virkeligheden ikke er HELT tomme? - og at dette har en indvirkning?

Men jeg har hertil ikke en løsning. (Det hele SKAL kunne køres automatiseret via VBA, med et ukendt variabelt antal rækker)
Avatar billede thomas_bk Ekspert
27. februar 2020 - 15:24 #1
Kan du evt. uploade et eksempel ark?
Avatar billede Pdahl Juniormester
17. marts 2020 - 10:11 #2
Kan desværre ikke uploade et eksempel-ark, da data er fortrolige, og arket for omfattende at gengive med "dummy" data
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
Kategori
Kurser inden for grundlæggende programmering

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