Oprettet ons. d. 25. juli 2012 kl. 18:23:55

kgndksv
kgndksv (6.100 point. Point ude: 60)
www.beautycos.dk

identificere linieskift i en celle i excel

Hej

Kan man identificere hvornår der er linieskift i en celle ?

Jeg har en række celler som indeholder navn, adresse og postnummer i samme celle, men på hver sin linie i cellen.. det eneste jeg lige umiddelbart kan se at man kan gøre for at identificere hvert "led" og få dem ud i hver sin celle er ved at kunne søge cellen til linieskift - kan man det??

Skrevet ons. d. 25. juli 2012 kl. 18:25:59| #1

supertekst
supertekst (139.464 point)
supertekst-it.dk
Via VBA kan du får "hver del" placeret separat via Split-funktionen

Skrevet tor. d. 26. juli 2012 kl. 00:01:15| #2

kjulius
kjulius (30.666 point)
I cellen bliver et linjeskift (Alt+Enter) lagret som et LF kontroltegn, hvilket er det samme som TEGN(10).

Så hvis du er sikker på, at din celle altid indeholder tre linjer, kan du bruge MIDT og FIND funktionerne til at opdele teksten.

Eksempel, hvis teksten der skal opdeles ligger i celle A1:

Første linje fra teksten kan fås med
=MIDT(A1;1;SØG(TEGN(10);A1)-1)

(man kunne også have brugt VENSTRE funktionen her i stedet for MIDT og sparet en parameter, nemlig starpositionen 1)

Anden linje fra teksten kan fås med
=MIDT(A1;FIND(TEGN(10);A1)+1;FIND(TEGN(10);A1;FIND(TEGN(10);A1)+1)-FIND(TEGN(10);A1)-1)

Og til sidst kan tredje linje fås med
=MIDT(A1;FIND(TEGN(10);A1;FIND(TEGN(10);A1)+1)+1;10000)

(Her har jeg bare angivet en stor værdi for delstrengshlængden på 10000, men man kan naturligvis også beregne sig frem til delstrengslængden - det bliver dog en længere smøre, og er det ikke værd i dette tilfælde, synes jeg).


Alternativt kan du naturligvis som Supertekst angiver lave noget VBA kode, hvor Split funktionen kan bruges til at returnere en array med alle delstrengene, som du så kan tage fat i enkeltvis.

Hvis du har flere end tre linjer pr celle, bliver det hurtigt meget indviklet at opdele via formler, så da vil jeg absolut anbefale dig at benytte VBA.

Skrevet tor. d. 26. juli 2012 kl. 13:05:05| #3

kgndksv
kgndksv (6.100 point)
www.beautycos.dk
Det var lige præcis Tegn(10) Jeg skulle bruge, kjulius - Sender du et svar!

Tak for input Supertekst, men min celle indeholder, som sagt navn, adresse og postnummer+ bynavn fordelt på 3 linieskift. derfor kan jeg ikke helt overskue, hvordan jeg kan bruge Split-funktionen.

Min kode endte således hvis andre skulle kunne bruge den:

Den overførte variabel er blot række nummeret


Sub SplitCell(ByRef i As Integer)

Dim xXx As Integer
Dim oOo As Integer
Dim SplitCell As Range
Dim SplitCount1 As Integer, SplitCount2 As Integer

Set GetSheet = ThisWorkbook.Worksheets("VBA Get address")

xXx = 1

Set SplitCell = GetSheet.Cells(i, 3)

'Tjekker hvor mange linjeskift der er i cellen

For e = 1 To Len(SplitCell)
    If Mid(SplitCell, e, 1) = Chr(10) Then
        xXx = xXx + 1
    End If
Next e

'Finder hvert linje og tildeler linjen en celle

SplitCount1 = 1

For oOo = 1 To xXx

    SplitCount2 = InStr(SplitCount1, SplitCell, Chr(10), vbTextCompare)

    SplitLength = SplitCount2 - SplitCount1

    SplitCol = GetSheet.Cells(i, 300).End(xlToLeft).Column + 1

    If SplitLength > 1 Then
        GetSheet.Cells(i, SplitCol) = Mid(SplitCell, SplitCount1, SplitLength)
    End If

    SplitCount1 = SplitCount2 + 1

Next

End Sub

Skrevet ons. d. 01. august 2012 kl. 05:22:04| #4

kjulius
kjulius (30.666 point)
Her kommer så mit svar...

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   


Seneste spørgsmål

konvertering af MS SQL datoformat

Oprettet den 20. maj 2013 kl. 11.54
Tago giver 60 point for svar | Giv et svar »

Lille VBA makro

Oprettet den 16. maj 2013 kl. 16.15
m_haahr giver 30 point for svar | Giv et svar »

Scroll til top i textbox

Oprettet den 16. maj 2013 kl. 12.34
martin_moth giver 30 point for svar | Giv et svar »








Tips & Tricks fra PC World

Teaser billede

Her gemmer de hemmelige kopier af dine data sig

Hvad sker der, hvis din Mac bryder sammen og du ikke har taget backup? Fortvivl ikke. Der er gode chancer for, at der rundt omkring alligevel ligger sikkerhedskopier af dine data.


Anmeldelser fra PC World

Teaser billede

Test: Samsung Galaxy S4 er et hit - trods gøglertricks

Kan Samsung beholde førertrøjen i det store Android-race? Galaxy S4 er smækfyldt med innovative funktioner, men også med en del gøgl. Er det for meget? Få vores dom over Samsungs nye topmodel.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Ny opfindelse: Oplad din mobil på 20 sekunder

Måske er det snart slut med at lade mobilen op hver aften. Med ny opfindelse kan telefonen få fuld energi på sølle 20 sekunder.


Nyheder fra Computerworld

Teaser billede

Snart kan du printe din egen pizza

Inden længe kan det blive muligt at printe pizzaer og andre fødevarer.


IT Kurser
Samarbejdspartnere

Udgiver · © 2013 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger