Avatar billede boro23 Forsker
Oprettet i dag kl. 10:58 Der er 1 kommentar

Betinget formatering

Hej Eksperter, håber ikke alle er på ferie.
Er det muligt at fremhæve de sidste 4 cifre med fed skrift, ud af 8 cifre med betinget formatering? Første ciffer af de 4 sidste cifre kan nogle gange være et nul.
Avatar billede visto Professor
Skrevet i dag kl. 11:41 #1
Jeg prøvede at stille spørgsmålet på ChatGPT, som jeg flere gange har brugt til lidt mere komplicerede Excel- og Access-ting. For det meste har det været brugbart. Én gang lykkedes det ikke at få et brugbart svar. Så jeg ved ikke om nedenstående svar kan bruges.
Den angiver engelske funktionsnavne, som jeg i den første del (ikke-VBA) har oversat til dansk. Og den siger komma, som jeg i formlerne har udskiftet med semikolon. VBA-delen er blot uredigeret copy/paste.

ChatGPT:

Ja, det er muligt at fremhæve de sidste 4 cifre med fed skrift ved hjælp af betinget formatering i Excel. Desværre understøtter betinget formatering i Excel ikke direkte at ændre skriftstilen for en del af cellens indhold. Vi kan dog opnå dette ved at anvende en kombination af celler og betinget formatering. Her er en metode til at gøre det:

    Adskil de sidste 4 cifre fra de første 4 cifre:
        Hvis dine 8-cifrede tal er i kolonne A, skal du bruge kolonne B til de første 4 cifre og kolonne C til de sidste 4 cifre.
        I celle B1 skriver du følgende formel for at få de første 4 cifre:

=VENSTRE(A1;4)

I celle C1 skriver du følgende formel for at få de sidste 4 cifre:

    =HØJRE(A1;4)

Anvend betinget formatering til de sidste 4 cifre:

    Vælg kolonne C.
    Gå til fanen "Betinget formatering" i Excel.
    Vælg "Ny regel".
    Vælg "Brug en formel til at bestemme, hvilke celler der skal formateres".
    Indtast følgende formel:

        =LÆNGDE(C1)=4

        Klik på "Formatér" knappen.
        Gå til fanen "Skrifttype" og vælg fed skrift.
        Klik på OK og derefter OK igen for at anvende formateringen.

    Kombinér de formaterede celler i én celle:
        Du kan kombinere de formaterede celler til visning ved hjælp af en tekstfunktion, men det vil ikke bevare formateringen. Alternativt kan du lade dem være i separate celler for at bevare formateringen.

Nu vil de sidste 4 cifre i kolonne C være formateret med fed skrift, mens de første 4 cifre i kolonne B forbliver uformateret. Hvis det er vigtigt at have alle 8 cifre i samme celle med de sidste 4 cifre fremhævet, vil det kræve en VBA-løsning, da det ikke kan opnås med standard betinget formatering.
- - - -
Mit spørgsmål:
Hvad er VBA-løsningen, så de 8 tal står i samme celle med de sidste 4 cifre med fed skrift?

ChatGPT:
For at fremhæve de sidste 4 cifre med fed skrift i samme celle ved hjælp af VBA, kan du bruge følgende VBA-kode. Denne kode vil automatisk formatere de sidste 4 cifre af et 8-cifret tal i en celle til fed skrift.

Følg disse trin:

    Åbn Excel og tryk Alt + F11 for at åbne VBA-editoren.
    I VBA-editoren, vælg Indsæt > Modul for at oprette en ny modul.
    Kopier og indsæt følgende kode i modulet:

Sub FormatLastFourDigits()
    Dim rng As Range
    Dim cell As Range
   
    ' Set the range you want to format
    Set rng = Selection
   
    For Each cell In rng
        If IsNumeric(cell.Value) And Len(cell.Value) = 8 Then
            ' Clear any existing formatting
            cell.Font.Bold = False
           
            ' Format the last 4 digits as bold
            With cell.Characters(Start:=5, Length:=4).Font
                .Bold = True
            End With
        End If
    Next cell
End Sub

    Luk VBA-editoren ved at klikke på X eller tryk Alt + Q.
    Vælg de celler i Excel, som du vil formatere (sørg for, at de kun indeholder 8-cifrede tal).
    Tryk Alt + F8 for at åbne dialogboksen Makro.
    Vælg FormatLastFourDigits og klik på Kør.

Denne VBA-makro vil formatere de sidste 4 cifre af de valgte celler til fed skrift.

Hvis du ønsker, at denne makro skal køres automatisk, når der indtastes nye data i en celle, kan du tilføje en Worksheet_Change hændelse. Følg disse trin:

    Åbn VBA-editoren igen (Alt + F11).
    Dobbeltklik på det relevante ark (f.eks. Sheet1) i Projekt-vinduet.
    Kopier og indsæt følgende kode i arket:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim cell As Range
   
    ' Check if the changed cells are in the desired range
    For Each cell In Target
        If IsNumeric(cell.Value) And Len(cell.Value) = 8 Then
            ' Clear any existing formatting
            cell.Font.Bold = False
           
            ' Format the last 4 digits as bold
            With cell.Characters(Start:=5, Length:=4).Font
                .Bold = True
            End With
        End If
    Next cell
End Sub

    Luk VBA-editoren (Alt + Q).

Nu vil VBA-makroen automatisk formatere de sidste 4 cifre til fed skrift, hver gang du ændrer en celle i det pågældende ark.
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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