Avatar billede teknik Juniormester
23. januar 2017 - 17:24 Der er 3 kommentarer og
1 løsning

Få ens navne i kolonner "linet op" ud for hinanden

Hej
Jeg har fire kolonner med varenavne.
Mange af varenavnene er ens i alle fire kolonner, men der findes også
unikke varenavne i hver kolonne.
Jeg ønsker at få "strakt" kolonnerne, så
- alt står alfabetisk,
- ens varenavne står i samme linje.
- unikke varenavne får en linje for sig.

Jeg så umiddelbart kun løsningen med at hånd-indsætte tomme celler i de rækker, hvor varenavnet ikke findes.

...Efter en times tid har jeg nået 500 linjer af 5000, og koncentrationen begynder at halte.
Jeg tænker derfor at: "det må da være et kendt problem"
- som måske har en simpel løsning

Mvh :-)
Teknik
Avatar billede jens48 Ekspert
23. januar 2017 - 18:35 #1
Jeg har en ide til hvordan det kan laves, men lige et par spørgsmål først.
1. I hvilket område står de 4 kolonner?
2. Er der et frit område hvor jeg kan smide resultatet?
3. Er der nogle af teksterne der går igen i flere linier, eller forekommer de maks 4 gange i samme linje?
4. Er der noget udenfor de 4 kolonner, som teksterne skall kobles sammen med?
Avatar billede teknik Juniormester
23. januar 2017 - 21:03 #2
1. De står i område A1-D4000
2. Resten af arket
3. Dubletter forekommer. Samme tekst kan forekomme 2-3-4 gange i en eller flere kolonner.
4. Nej, ingen kobling med andet.
Avatar billede jens48 Ekspert
23. januar 2017 - 23:51 #3
Tja, den blev ikke så hurtig, men den ser ud til at virke. Det tog 5 til 6 minutter at køre makroen igennem med 4000 linjer, så det kan vel kun bruges, hvis det er en en-gangsforeteelse. Makroen smider data over i kolonne F:I. Hvis en tekst kommer mere end 4 gange fortsætter den ud i kolonne J og udefter. Den oprindelige tekst bliver slettet under kørslen.

Sub sorter()
Dim c, d As Range
Dim x As Integer
x = 1
Range("A1:D4000").Select
For Each d In Selection
If d <> "" Then
n = Application.CountIf(Range("A1:D4000"), d) - 1
Range(Cells(x, 6), Cells(x, 6 + n)) = d
e = d
x = x + 1
End If
Range("A1:D4000").Select
For Each c In Selection
If c = e Then
c.ClearContents
End If
Next
Next
End Sub
Avatar billede teknik Juniormester
24. januar 2017 - 21:37 #4
Hej Jens48

Med lidt kritik for at makroen
1. Sammenblander kolonnerne
2. Opbryder den oprindelige alfabetiske sortering af data,


Så kan jeg med en workaround hvor man først
- processer alle fire kolonner
og derefter
- processer originalkolonnerne enkeltvis sammen med kolonne F fra "alle fire"
- re.-sortere dette resultat alfabetisk efter kolonne F,
- processer de samme to data-kolonner igen
- håndklipper den resulterende kolonne G
- gentager "og derefter processen" for de tre andre kolonner.
Få et resultat næsten som jeg havde tænkt mig.

Eneste "skønhedsfejl" er at lodrette dubletter vises vandret.
...og den "fejl" tror jeg faktisk jeg bliver glad for,
da dubletter nu er langt lettere at spotte.

Har kun kørt test m. 40 linjer i stedet for 4000, og der du'r det.

Går det som ventet, så reducerer  jeg 10-15 timers "idiotarbejde"
til 1-1½ times langt sjovere arbejde.

Præcis hvad jeg søgte efter.
mange tak for hjælpen !!!

mvh :-)
Teknik
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





Premium
Sikkerhedsekspert: Derfor har Colonial været nødt til at betale hackere ransomware på 30 millioner kroner - vil sagtens kunne ske i Danmark
Interview: Hvorfor har mægtige Colonial Pipeline valgt at betale ransomware til hackere trods anbefalinger fra myndigheder og sikkerhedsmiljøet? "Det er ikke helt sort og hvidt," siger sikkerheds-ekspert Leif Jensen fra Eset.
Computerworld
Nye informationer om det største iPhone-hack nogensinde ser dagens lys: 128 millioner brugere blev ramt
Hidtil hemmeligholdte detaljer om verdens største iPhone-hack er kommet frem under retssagen mellem Apple og Epic Games. 128 millioner brugere blev ramt, og mere end 4.000 apps blev inficeret. Se detaljerne her.
CIO
Har du rost din mellemleder i dag? Snart er de uddøde - og det er et tab
Computerworld mener: Mellemledere lever livet farligt: Topledelsen får konstant ideer med skiftende hold i virkeligheden, og moden går mod flade agile organisationer. Men mellemlederen er en overset hverdagens helt med et kæmpe ansvar. Her er min hyldest til den ofte latterliggjorte mellemleder.
Job & Karriere
Eva Berneke stopper som topchef i KMD og flytter til Paris: Her er KMD's nye topchef
Efter syv år på posten som topchef for KMD forlader Eva Berneke selskabet. Nu flytter hun med familien til Paris, hvor hun vil fortsætte sit bestyrelsesarbejde. KMD har allerede afløser på plads.
White paper
Sådan sikrer du hovednøglen til jeres data
80% af alle ransomwareangreb skyldes misbrug af privilegerede brugeradgange. Ved at begrænse og overvåge adfærden på de privilegerede konti samt kontrollere mængden af tildelte rettigheder kan du mindske skaden ved hackerangreb mod din virksomhed og i visse tilfælde helt blokere dem. Internt kan du bruge kontrollen med brugeradgange til at dokumentere, hvem der bevæger sig i hvilke systemer, og hvad der foregår derinde. Privilegeret brugerstyring har de seneste to år stået øverst på Gartners Top10-liste over it-sikkerhedsprojekter, der bør få højeste prioritet. Alligevel er teknologien kun så småt ved at finde fodfæste i Danmark. Det kan viden om åbenlyse gevinster, relativ kort implementeringstid og yderst rimeligt budget være med til at ændre på. I dette whitepaper folder vi temaet privilegeret brugerstyring ud og placerer teknologien i det væld af prioriteringer, som CISO’en hver dag skal foretage.