Avatar billede MortenPS Praktikant
31. maj 2023 - 20:41 Der er 5 kommentarer

Hjælp til Celle format af tekst værdi

Hej,

Hvis jeg har en celleværdi som altid består af 9 karakter i en blanding af tal og bogstaver - men gerne vil vise det med mellemrum for at gøre det nemmere at læse, kan man så gøre det med cellens format? Jeg ønsker således ikke at lave en formel og lave en hjælpekolonne til formålet ved siden af..

Eks. min celleværdi kunne være "1b2234c34" og jeg ønsker at få vist det som "1b2 234 c34" ved brug af celleformatet IKKE en hjælpeformel i en hjælpekolonnne.

Mvh. Morten
Avatar billede be_nice Juniormester
01. juni 2023 - 06:18 #1
Hej Morten,

Det kan du godt uden brug af anden hjælp end "Formatér celler"

- Marker cellen / cellerne, hvor du ønsker "xxx xxx xxx"
- Højreklik og vælg "Formatér celler"
- Vælg "Brugerdefineret"
- I "Type" skriver du ### ### ###
- Tryk "OK"

Nu vil indtastninger i cellen / cellerne blive opdelt som "xxx xxx xxx"

OBS - taster du en længere eller kortere celleværdi, vil visningen blive "forkert" - Excel vil "fylde cellen op" fra højre mod venstre - så 1234567 vil blive vist som 1 234 567

Håber du kan bruge det - ellers sig til.

/Be_Nice
Avatar billede xl-Enthusiast Ekspert
01. juni 2023 - 07:45 #2
Man kan ikke bruge talformatering (som ### ### ###) på tekst-data i Excel.
Avatar billede be_nice Juniormester
01. juni 2023 - 08:48 #3
@xl-Enthusiast - Doh, - jeg skulle da vist have taget en kop kaffe mere før jeg svarede. Og du har ret, jeg havde kun talformatering i tankerne.

@Morten - glem det sludder jeg fik skrevet.

/Be_Nice
Avatar billede Dan Elgaard Ekspert
01. juni 2023 - 09:28 #4
Det kan ikke gøres med formatering.

Enten skal du benytte en hjælpekolonne (som du ikke ønsker) eller også skal du benytte 'Worksheet_Change' eventen og lade en makro gøre arbejdet.
Avatar billede jens48 Ekspert
01. juni 2023 - 10:25 #5
Som Dan skriver kan det gøres med en makro. Hvis du skriver værdien direkte ind i cellen (her i kolonne A) kan det gøres med denne makro:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
If Len(Target) = 9 Then
Target = Left(Target, 3) & " " & Mid(Target, 4, 3) & " " & Right(Target, 3)
End If
End If
End Sub

Elllers kan du mærke cellerne op og køre nedenstående:

Sub Mellemrum()
Dim C As Range
For Each C In Selection
If Len(C) = 9 Then
C = Left(C, 3) & " " & Mid(C, 4, 3) & " " & Right(C, 3)
End If
Next
End Sub
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