Jump to content
Jakke

[Løst] Excel: Splitte data i en celle i flere celler (opp til 312 celler)

Recommended Posts

Hei! I Google Sheets har vi den vakre funksjonen =split. Excel henger dessverre etter på en del funksjoner, de fikk bl.a =sort først i fjor.

 

Dessverre må jeg over på Excel, da regnearket mitt er så stort at Chrome henger ikke med. Den siste lille biten jeg mangler før jeg har alt i boks, er det å kunne dynamisk splitte en celle med tall skilt av mellomrom opp i flere celler. Dette er opp til 312 tall, og det må være med formler, da dette er data som endres av bruker ofte, og er laget for å være brukervennlig.

 

Jeg finner ingenting på nett som fungerer, har prøvd meg på VBA, men jeg får ikke helt til det, da jeg kan 0 om koding, så blir det mye stanging i murer her.

 

Dette (edit: det i sitatet under, forumet er blitt tøvete synes jeg) må jeg rett og slett splitte i 234 celler, det kan bli opp til 312 celler på det meste, og det må skje automagisk i et ark i bakgrunnen, så bruker limer inn det som er i sitat, og får data ut delt i 39 rader over 8 kolonner (ved 312 tall). Data blir også brukt i bakgrunnen annetsteds, om det er relevant.

 

EDIT: HVa har skjedd med forumfunksjonene her? Jeg får ikke skrive noe som helst under sitatet, kun i sitatet...

 


23 23 23 23 23 23 23 23 23 28 38 54 70 83 89 89 89 89 89 89 89 89 89 89 89 83 70 54 38 28 23 23 23 23 23 23 23 23 23 19 19 19 19 19 19 19 19 19 25 33 47 61 72 77 77 77 77 77 77 77 77 77 77 77 72 61 47 33 25 19 19 19 19 19 19 19 19 19 16 16 16 16 16 16 16 16 16 21 28 41 53 63 67 67 67 67 67 67 67 67 67 67 67 63 53 41 28 21 16 16 16 16 16 16 16 16 16 11 11 11 11 11 11 11 11 11 14 19 27 35 43 46 46 46 46 46 46 46 46 46 46 46 43 35 27 19 14 11 11 11 11 11 11 11 11 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Edited by Jakke

Share this post


Link to post

EDIT: HVa har skjedd med forumfunksjonene her? Jeg får ikke skrive noe som helst under sitatet, kun i sitatet...

 

Kjent bugg - gå på «BBcode mode» (knappen øverst til venstre) og skriv noe under [ / quote ] - da kan du fullføre der eller trykke samme knapp igjen - da er skriving mulig under sitat. 

 

Snart oppdatering av forum så det fikser seg sikkert da :)

Share this post


Link to post

 

Kjent bugg - gå på «BBcode mode» (knappen øverst til venstre) og skriv noe under [ / quote ] - da kan du fullføre der eller trykke samme knapp igjen - da er skriving mulig under sitat. 

 

Snart oppdatering av forum så det fikser seg sikkert da :)

Ah, savnet BBcode, var mye lettere å holde på med synes jeg, da visste jeg hva jeg fikk basert på hva jeg skrev, ikke hva jeg så ;)

Share this post


Link to post
Annonse

Nei text to columns er ikke dynamisk, den gjør bare jobben en gang dessverre :/

 

Er avhengig av funksjoner og formler her, script går, men foretrekker uten, helt klart.

Share this post


Link to post

Marker cellen som den fulle strengen står i og forsøk denne koden. I mitt eksempel starter resultatene i rad 5 kolonne 1 men dette kan du selvsagt endre.
 

Sub Splitt()
 
Dim Tekst As String
Dim i As Integer
Dim Deltekst As Variant
 
Tekst = ActiveCell.Value
 
Deltekst = Split(Tekst, " ")
 
For i = 0 To UBound(Deltekst)
Cells(5, i + 1).Value = Deltekst(i) ' Her legges første verdi i rad 5 kolonne 1
Next i
 
End Sub

Share this post


Link to post

Må innrømme at jeg er litt usikker på formatet på dataene dine men følgende fungerer når jeg kopierer fra sitatet ditt, limer inn i Excel og kjører koden under når jeg står i cellen jeg limte inn dataene i:

 

 

Sub Jakkeplitt()

   Dim myRange As Range
    Set myRange = Selection
 
    myRange.TextToColumns Destination:=myRange.Offset(1, 0), _
    DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, _
    ConsecutiveDelimiter:=False, _
    Tab:=False, _
    Semicolon:=False, _
    Comma:=False, _
    Space:=True, _
    Other:=False, _
    FieldInfo _
    :=Array(1, 1), DecimalSeparator:=".", _
    ThousandsSeparator:=",", _
    TrailingMinusNumbers:=True
 
End Sub
 

 

- Fordelen slik jeg ser det, ved å bruke TextToColumns, er bl. a. styringen man har på datatypene inn og ut.

 

Et annet alternativ er Power Query i Excel, alt. Power Bi.

 

Edit: 

Om du endrer på datagrunnlaget, og kjører koden på nytt, vil det (slik koden står) spørres om du vil overskrive. Svarer man bekreftende på overskriv av destination, vil man få overskrevet destination med alt fra det nye datagrunnlaget (aktiv celle.)

Edited by NoBo

Share this post


Link to post

Fikk hjelp på et annet forum, men nei, kun formler eller VB vil fungere, da dette må gå automatisk. Det skal brukes av folk som ikke kan Excel.

 

=IFERROR(TRIM(RIGHT(SUBSTITUTE(LEFT($A$2,FIND("|",SUBSTITUTE($A$2&" "," ","|",COLUMN(A2)+(ROW(A1)*39-39)))-1)," ",REPT(" ",3)),3)),"")

Share this post


Link to post

Den formelen er lagd for å dele opp opp til 312 verdier i like mange celler, med 39 kolonner og 8 rader, for å få en matrise som matcher de egentlige inndata.

 

Se bildet, så ser du matrisen jeg snakker om. Det jeg trengte var å kunne kopiere dette rett fra andre PDFer for å generere bildet av bowlingbanen med oljen, da ble dette en celle med en masse verdier.

Det jeg gjør er å ta inndata fra oljemaskin, som er mengde olje per stav (banen er 39 staver bred, hvor en stav er cirka 1 tomme bred), og lengde i fot for den sonen, så tegner jeg og smører det utover med litt enkel matte! :D

 

post-51466-0-69366300-1570549442_thumb.jpg

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...