Avatar billede madx Nybegynder
07. september 2010 - 08:10 Der er 9 kommentarer og
1 løsning

Adskille tal og tekst i excel, f.eks. abc123

Jeg sidder med nogle uhomogene lister, hvor jeg ikke har hverken mellemrum, semikolon, tabulator eller andet imellem mine data, f.eks.
abc123
xyz987æø
456de

Hvordan får jeg tal og tekst skildt ad i Excel så jeg har
abc 123
xyz 987 æø
456 de

Og gerne endnu bedre - får listet tallene under hinanden
abc 123
xyz 987 æø
      456 de

Jeg mener ikke de "normale" funktioner i excel kan klare dette, så al hjælp er velkommen!

Mvh. Henrik
07. september 2010 - 08:31 #1
Et hurtigt skud fra hoften :-)


Function splittext(strText As String)
    Dim i As Integer
    Dim text As Boolean
    Dim strResult
    text = Not IsNumeric(Mid(strText, 1, 1))
    strResult = Mid(strText, 1, 1)
    For i = 2 To Len(strText)
        If text Then
            If IsNumeric(Mid(strText, i, 1)) Then
                text = False
                strResult = strResult & " " & Mid(strText, i, 1)
            Else
                strResult = strResult & Mid(strText, i, 1)
            End If
        Else
            If Not IsNumeric(Mid(strText, i, 1)) Then
                text = True
                strResult = strResult & " " & Mid(strText, i, 1)
            Else
                strResult = strResult & Mid(strText, i, 1)
            End If
        End If
    Next
    splittext = strResult
End Function
07. september 2010 - 08:32 #2
Funktionen skal oprettes i et modul i VBA editoren og kan bruges i excel ved at skrive =splittext(A1)
Avatar billede madx Nybegynder
07. september 2010 - 10:10 #3
Jeg tænkte nok, at der skal noget kodning til.... jeg prøver ad :-)
Avatar billede madx Nybegynder
07. september 2010 - 10:46 #4
Fantastico :-) Takker!

Nu er tal og bogstaver skildt ad.... Det andet med at få dem lagt ud i celler (tabuleringen) kunne jeg forestille mig, ikke er så lige til.

Så smidt et svar!
07. september 2010 - 10:59 #5
Hermed et svar.

At få splittet i celler er egentligt også simpelt - det skal bare løses med en makro og kræver at jeg ved lidt mere om, hvordan informationerne er struktureret og hvor jeg må aflevere resultaterne.

Opret evt. et nyt spørgsmål til den sag.
Avatar billede madx Nybegynder
07. september 2010 - 11:10 #6
Nu leger lidt med dette og så kan det være behovet melder sig :-)
Avatar billede madx Nybegynder
10. september 2010 - 12:08 #7
Er det rigtigt forstået, at makroen kun følger det enkelte excel-ark og ikke er globalt til stede i Excel?

Dvs. at jeg skal oprette makroen på ny, når jeg skal løse samme opgave i et andet Excel-ark?

Mht. fordelingen i celler. Der er blot brug for at "xyz987æø" udlæses "xyz 987 æø" til hver sin celle mod højre.

Kan algoritmen evt. udstyres så den kan finde specialtegn og separere dem også - f.eks. "$xyz987æø" til "$ xyz 987 æøe" eller slette dem?

Skal jeg evt. oprette det som nyt spgm "xyz987æø"
10. september 2010 - 12:12 #8
Ja, Excel makroer er i udgangspunktet gemt med Excel filen.

Desværre er det ikke "blot" at fylde til andre celler. Det er jo kodet som en funktion, der i udgangspunktet kun kan reagere på den celle den bruges i.
Avatar billede madx Nybegynder
10. september 2010 - 12:25 #9
OK, men er det du så siger at det IKKE kan lade sig gøre eller...?
10. september 2010 - 12:59 #10
Jo, det kan godt lade sig gøre - det bliver bare ikke så elegant og vil kræve en knap i regnearket til aktivering af koden.
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
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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