Avatar billede Cikija Nybegynder
23. oktober 2013 - 10:31 Der er 7 kommentarer og
1 løsning

Fjern alt efter første komma

Jeg har en del regneark, hvor jeg har en kollonne med en masse koder.

Jeg har behov for at fjerne alt efter første komma, evt. med en makro.

F.eks bbggdd7,kdkkggk,gkgk
Det er forskelligt hvor mange tegn der er før og efter kommaerne.
Avatar billede Slettet bruger
23. oktober 2013 - 10:43 #1
=VENSTRE(A1;FIND(",";A1)-1)
Avatar billede Cikija Nybegynder
23. oktober 2013 - 12:01 #2
Jeg kan godt se at ovenstående fjerner det ønskede.
Men jeg ville undgå at kopiere den ind i over 200000 rækker.

Men da jeg har været uklar med fomuleringen, giver jeg point for denne, og opretter nyt spørgsmål.

Så giv svar.
Avatar billede Slettet bruger
23. oktober 2013 - 12:38 #3
Hvad er der galt med i navnefeltet at markere B1 og herefter skrive for eksempel B1:B200000 (hvis det er der du skal have formlerne), trykke på Enter. Herefter skrive den formel jeg foreslog, holde Ctrl tasten nede og trykke på Enter.

Jeg har aldrig helt kunne forstå hvorfor man skal bruge VBA når det kan gøres hurtigere og mere enkelt med formler. Men jeg må vel overse noget.

Hans
23. oktober 2013 - 12:43 #4
dkhanknu>> Helt enig!
Avatar billede Cikija Nybegynder
23. oktober 2013 - 13:04 #5
Det gør jeg også i dag.
Men det er kun en lille del af en makro, der skal køre i forvejen.

Den skal fjerne ovenstående.
Indsætte filnavn i en celle.
Indsætte 1-(antal af rækker) i en celle i første række.
Indsætte (antal af rækker)-1 i en celle i sidste række.
Printe første side ud.
Printe sidste side ud.
Gemme som csv fil.

Alt dette kan jeg gøre manuelt i dag.
Men det ville bare være nemmere. hvis jeg kunne gøre det automatisk.
Avatar billede jens48 Ekspert
23. oktober 2013 - 18:49 #6
Enig med dkhanknu, men hvis du alligevel skal køre en makro kan du bruge nedenstående. Den overskriver de oprindelige celler med det der står foran første komma.

Sub left()
Dim x As Integer
Dim c As Range
LastRowColA = Range("A1048576").End(xlUp).Row
For Each c In Range("A1:a" & LastRowColA)
x = InStr(1, c, ",") - 1
If x = -1 Then
Else
c = left(c, x)
End If
Next
End Sub
Avatar billede Cikija Nybegynder
24. oktober 2013 - 07:47 #7
Hej Jens

Du har så lige svaret på mit nyoprettede spørgsmål.
Så hvis du giver et svar på:
http://www.eksperten.dk/spm/987212
Kan jeg giver dig point.

tak til jer begge to.
Avatar billede Pedowich Nybegynder
15. april 2015 - 16:28 #8
Kan denne formel "vendes om", så den i stedet sletter alt før kommaet?
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