Excel - auto håndtering kolonner

#1| 0

Jeg har et spørgsmål til de Excel kyndige.

 

Jeg arbejder en del med csv filer i Excel.

 

Er det muligt at få Excel til at sorte en fil efter en kolonne og derefter automatisk lave nye filer udfra navnene i en specifik kolonne?

 

Ved ikke hvordan jeg lige skal forklare det, men hvis jeg åbner en fil med flere hundrede linier i, så vil jeg gerne at man kan trykke på en knap så der dannes nye filer udfra en bestemt kolonne, så alle de linier der har samme tekst i den specifikke kolonne automatisk bliver gemt sammen i en ny fil hvis det giver mening?

 

er dette muligt?

03-10-2019 11:13 #2| 0

Power query er det du leder efter. Tager lidt tid at sætte sig ind i (afhængig af dit nuværende niveau), men det er super, når man arbejder med store mængder data, som man skal sortere i (og til og fra).

Der findes masser af guides på YT.

03-10-2019 11:28 #3| 0
OP

Tusind tak, det vil jeg lige kigge på 😊

 

 

03-10-2019 11:50 #4| 1

PowerQuery giver ingen mening her. Langt lettere at lave et VBA-script - det er dog sådan noget, der kommer til at tage et par timer at lave, hvis man ikke har kodestumper liggende.

03-10-2019 12:41 #5| 0
OP

Jeg har ikke så meget forstand på det, men er et script ikke bare en "optagelse" af de bevægelser og klik jeg selv laver med musen? Og vil jeg kunne bruge computeren imens scriptet arbejder?

 

 



03-10-2019 12:53 #6| 0
Pokernet Champ 2023

Det er helt klart VBA programmering du skal have fat i. Jeg tror også du kan lave det med lange og komplicerede Excel formler, men faren for det ender i noget rod er stor. 

03-10-2019 13:02 #7| 0
OP

For lige at præcisere hvad jeg laver, så arbejder jeg for en virksomhed hvor vi producere blandt andet låger til køkkekindustrien.

 

Kunderne bestiller deres låger på nettet. Hver uge er der så en fra kontoret som trykker på en knap i C5 som så genere en csv fil med alle låger størrelser, boringer, pladetyper osv.

 

den csv fil får jeg så, der er typisk 3-800 linier i filen, det der svare til 20-40 køkkener.

 

min opgave er så at få sorteret csv filen efter pladetype og dele den op i csv filer, så der er en fil for hver pladetype, typisk 15-25 filer.

 

herefter skal jeg optimere/neste hver enkel fil så jeg får generet programmer som skal køres på en nesting CNC maskine.

 

Min primære funktion er produktion på CNC, eller rettere sagt, jeg giiiiider ikke bruge flere timer på kontor arbejde hver uge 😂

 

så hvis der var en eller anden smart måde at få filen splittet op efter en bestemt kolonne hurtigt, så ville det give mig mere tid i produktionen. Vil skyde på jeg bruger 6-8 timer hver eneste uge på at sortere og dele csv filer op.

03-10-2019 14:20 #8| 0

Jeg arbejder med VSTO AddIns, det er helt sikkert også en mulighed. 

 

Hvis du har mulighed for at dele en CSV-fil, vil jeg gerne kigge på den og se om jeg kan ordne et AddIn på et par timer, hvis det har interesse. Jeg arbejder med autogenerering af CSV-filer til daglig. 

Redigeret af kentkay d. 03-10-2019 14:26
03-10-2019 14:26 #9| 0

Hvis du/din arbejdsgiver har en Alteryx licens, er det løst på et par timer :-)

03-10-2019 15:10 #10| 0
OP
kentkay skrev:

Jeg arbejder med VSTO AddIns, det er helt sikkert også en mulighed. 

 

Hvis du har mulighed for at dele en CSV-fil, vil jeg gerne kigge på den og se om jeg kan ordne et AddIn på et par timer, hvis det har interesse. Jeg arbejder med autogenerering af CSV-filer til daglig. 

 

 Hvad vil sådan noget koste?

 

Det nævnte eksempel jeg kom med er en af måderne det skal deles op på. Der er andre filer som også skal deles op, men det kan være efter andre kolonner, f.eks ordre nummer.

03-10-2019 15:11 #11| 0
OP
Grethe skrev:

Hvis du/din arbejdsgiver har en Alteryx licens, er det løst på et par timer :-)

 

 Det har vi ikke 😊

03-10-2019 15:51 #12| 0
Samuel skrev:

PowerQuery giver ingen mening her. Langt lettere at lave et VBA-script - det er dog sådan noget, der kommer til at tage et par timer at lave, hvis man ikke har kodestumper liggende.




Giver vel ingen mening at lave VBA-kode, hvis der genereres en nu fil med ny data hver gang?

Med Power Query kan den nye csv-fil lægges i samme mappe, son de tidligere, hvorefter forespørgslen sorteres, som man har bedt den om. Det kræver selvfølgelig at filerne har ens kolonner hver gang.

Jeg spørger sådan helt oprigtigt, da jeg på ingen måde kan kode i VBA. Jeg kan dog godt optage makroer, som jo genererer VBA-kode.
03-10-2019 15:52 #13| 0

I øvrigt er det ikke mit indtryk, at størstedelen af "dagligdags-excel-brugere" ( som mig selv) har kodestumper liggende. Jeg har i hvert fald ikke :)

03-10-2019 16:07 #14| 0
OP
Ravie skrev:

Giver vel ingen mening at lave VBA-kode, hvis der genereres en nu fil med ny data hver gang?

Med Power Query kan den nye csv-fil lægges i samme mappe, son de tidligere, hvorefter forespørgslen sorteres, som man har bedt den om. Det kræver selvfølgelig at filerne har ens kolonner hver gang.

Jeg spørger sådan helt oprigtigt, da jeg på ingen måde kan kode i VBA. Jeg kan dog godt optage makroer, som jo genererer VBA-kode.

 

Kolonnerne ligger ens i filerne hver gang da softwaren som generere programmerne jeg skal bruge læser fra kolonnerne.

 

Jeg har sendt en mail til vores Excel kyndige på kontoret om han kender til power query. Vil lige læse lidt op på det iaften når jeg får tid 😊

03-10-2019 16:31 #15| 0

Hvis det bare var en enkelt opgave, kunne jeg godt løse den men det bliver nok for omfangsrigt, hvis det ikke bare er det. Excel og VBA (eller C# som VSTO AddIns er skrevet i) er dog ligetil, så hvis I har en programmør til rådighed, skulle det ikke være noget problem at få lavet. 

 

Ravie skrev:

Giver vel ingen mening at lave VBA-kode, hvis der genereres en nu fil med ny data hver gang?


 

Hvorfor tænker du, at det ikke giver mening? 

03-10-2019 16:38 #16| 1
OP
kentkay skrev:

Hvis det bare var en enkelt opgave, kunne jeg godt løse den men det bliver nok for omfangsrigt, hvis det ikke bare er det. Excel og VBA (eller C# som VSTO AddIns er skrevet i) er dog ligetil, så hvis I har en programmør til rådighed, skulle det ikke være noget problem at få lavet. 

 

 

Hvorfor tænker du, at det ikke giver mening? 

 

 Jeg vil lige vende det på kontoret. Jeg ved vi har aftale med et eksternt edb firma der står for alt IT ude ved os, det er blandt andet dem der roder med C5 for os.

03-10-2019 17:34 #17| 0
kentkay skrev:

Hvis det bare var en enkelt opgave, kunne jeg godt løse den men det bliver nok for omfangsrigt, hvis det ikke bare er det. Excel og VBA (eller C# som VSTO AddIns er skrevet i) er dog ligetil, så hvis I har en programmør til rådighed, skulle det ikke være noget problem at få lavet. 

 

 

Hvorfor tænker du, at det ikke giver mening? 




Som jeg har fået VBA forklaret, virker det bedst til repetetitive opgaver i samme fil, men kommer til kort, når det omhandler flere forskellige filer og "sammensmeltning" af disse. Jeg kan dog sagtens tage fejl.

Jeg fik i øvrigt også indtrykket af, ud fra OP's spørgsmål, at det var OP selv, som skulle finde løsningen og så har jeg selvfølgelig antaget at OP ikke kan ķode i VBA. Mit forslag om at bruge PQ er baseret på at jeg synes det er langt nemmere at gå til end VBA og at jeg selv tidligere har brugt det til lignende opgaver.
03-10-2019 21:04 #18| 1
Polen skrev:

Jeg har ikke så meget forstand på det, men er et script ikke bare en "optagelse" af de bevægelser og klik jeg selv laver med musen? Og vil jeg kunne bruge computeren imens scriptet arbejder?  

Det er som regel bedst at lade være med at anvende computeren mens den afvikler VBA-kode i flere vinduer. Et script vil tage ca. 10 sekunder pr. pladetype. Så 30 pladetyper = 5 min og det er højt sat. Alt afhængigt af hvad der er inkluderet i at 'neste' så kan det meste/det hele af dette også gøres i scriptet - antager neste er en form for gruppering, du mener, så ens køkkenplader produceres efter hinanden så man sparer omstillingstid.

 

Man kan sagtens lave en Excel-fil der indlæser en stor CSV. Giver dig mulighed for at gruppere data ud fra 1-2-3 kolonner og så gemme filer, hvor du vil have dem/opretter nye biblioteker efter behov. Således at du kan løse samme type opgave med flere forskellige CSV-filer med vilkårligt antal kolonner osv.

 

Ravie skrev:

Giver vel ingen mening at lave VBA-kode, hvis der genereres en nu fil med ny data hver gang?

Med Power Query kan den nye csv-fil lægges i samme mappe, son de tidligere, hvorefter forespørgslen sorteres, som man har bedt den om. Det kræver selvfølgelig at filerne har ens kolonner hver gang.

Jeg spørger sådan helt oprigtigt, da jeg på ingen måde kan kode i VBA. Jeg kan dog godt optage makroer, som jo genererer VBA-kode.

a) Man hardcoder ikke filnavne ind, så intet problem

b) Og hvad vil du så gøre - lave en PowerPivot og så gemme data? Kan lade sig gøre, men kræver omhyggelighed af brugeren. VBA kan godt håndtere at der er forskellige antal kolonner, sålænge de specifikke kolonner, der skal sorteres efter eksisterer hver gang.

 

Ravie skrev:

Som jeg har fået VBA forklaret, virker det bedst til repetetitive opgaver i samme fil, men kommer til kort, når det omhandler flere forskellige filer og "sammensmeltning" af disse. Jeg kan dog sagtens tage fejl.

Jeg fik i øvrigt også indtrykket af, ud fra OP's spørgsmål, at det var OP selv, som skulle finde løsningen og så har jeg selvfølgelig antaget at OP ikke kan ķode i VBA. Mit forslag om at bruge PQ er baseret på at jeg synes det er langt nemmere at gå til end VBA og at jeg selv tidligere har brugt det til lignende opgaver.

VBA kan sagtens håndtere flere datakilder. Hvis du vil sammensmelte skal du enten anvende PowerQuery/PowerPivot, lave et script der fletter eller sætte dine data op, så du kan anvende SQL via VBA på dem internt i Excel.


@Polen: Så egentligt er det ikke så svært at lave, hvis man lige har tiden til det. 

Spørgsmålene er bare om din chef vil have dokumentation på løsningen og hvor meget han vil donere til Pokernet Julehjælp i år? 

(Man får fil til godkendelse før donation - jeg skal holdes anonym)

03-10-2019 21:13 #19| 0
Samuel skrev:

Det er som regel bedst at lade være med at anvende computeren mens den afvikler VBA-kode i flere vinduer. Et script vil tage ca. 10 sekunder pr. pladetype. Så 30 pladetyper = 5 min og det er højt sat. Alt afhængigt af hvad der er inkluderet i at 'neste' så kan det meste/det hele af dette også gøres i scriptet - antager neste er en form for gruppering, du mener, så ens køkkenplader produceres efter hinanden så man sparer omstillingstid.

 

Man kan sagtens lave en Excel-fil der indlæser en stor CSV. Giver dig mulighed for at gruppere data ud fra 1-2-3 kolonner og så gemme filer, hvor du vil have dem/opretter nye biblioteker efter behov. Således at du kan løse samme type opgave med flere forskellige CSV-filer med vilkårligt antal kolonner osv.


 

a) Man hardcoder ikke filnavne ind, så intet problem

b) Og hvad vil du så gøre - lave en PowerPivot og så gemme data? Kan lade sig gøre, men kræver omhyggelighed af brugeren. VBA kan godt håndtere at der er forskellige antal kolonner, sålænge de specifikke kolonner, der skal sorteres efter eksisterer hver gang.

 

VBA kan sagtens håndtere flere datakilder. Hvis du vil sammensmelte skal du enten anvende PowerQuery/PowerPivot, lave et script der fletter eller sætte dine data op, så du kan anvende SQL via VBA på dem internt i Excel.

 

@Polen: Så egentligt er det ikke så svært at lave, hvis man lige har tiden til det. 

Spørgsmålene er bare om din chef vil have dokumentation på løsningen og hvor meget han vil donere til Pokernet Julehjælp i år? 

(Man får fil til godkendelse før donation - jeg skal holdes anonym)




Så blev jeg så meget klogere :)
03-10-2019 21:24 #20| 0
Grethe skrev:

Hvis du/din arbejdsgiver har en Alteryx licens, er det løst på et par timer :-)

 

Lidt off topic, men kan jo bare henvise til post 18 der man bør kigge... men bliver lige nød til at kommentere her, det kan laves på et par min med alteryx :-), og så har man givet sig selv rigtig god tid :-) 
 

03-10-2019 21:38 #21| 0
underk skrev:

 

Lidt off topic, men kan jo bare henvise til post 18 der man bør kigge... men bliver lige nød til at kommentere her, det kan laves på et par min med alteryx :-), og så har man givet sig selv rigtig god tid :-) 
 

Fandt lige denne video, der er tæt på casen:

 

03-10-2019 21:50 #22| 0
Samuel skrev:

Fandt lige denne video, der er tæt på casen:

 

Løser også casen :-) metoden outputter og splitter efter navnene i en specific kolonne.

 

alteryx koster bare 5000 euro om året i licens 

Redigeret af underk d. 03-10-2019 21:53
04-10-2019 10:47 #23| 0
Moderator

Det er ret simpelt at lave med PowerShell.

← Gå til forumoversigtenGå til toppen ↑
Skriv et svar