Log på med Microsoft
Log på, eller opret en konto.
Hej
Markér en anden konto.
Du har flere konti
Vælg den konto, du vil logge på med.

Sammenkædede datatyper blev først udgivet i Excel til Microsoft 365 juni 2018, og derfor kan andre funktioner muligvis ikke identificere dem. Dette kan især være tilfældet, hvis du vil bruge andre funktioner til at identificere betinget identificering af, om en celle indeholder en sammenkædet datatype eller ej. I denne artikel forklares nogle løsninger, du kan bruge til at identificere sammenkædede datatyper i celler.

Bemærk!: Sammenkædede datatyper er kun tilgængelige for kunder med flere lejere (standardkonti Microsoft 365 lejere).

Formler

Du kan altid skrive formler, der henviser til datatyper. Men hvis du vil udtrække teksten i en celle med en sammenkædet datatype ved hjælp af funktionen TEKST, får du et #VALUE! som fejl.

En midlertidig løsning er at bruge funktionen FELTVÆRDI og angive feltet Navn for field_name argument. Hvis celle A1 i følgende eksempel indeholdt en aktiedatatype, ville formlen returnere aktienavnet.

=FELTVÆRDI(A1,"Navn")

Men hvis celle A1 ikke indeholder en sammenkædet datatype, returnerer funktionen FELTVÆRDI en #FIELD!-. Hvis du vil evaluere, om en celle indeholder en sammenkædet datatype, kan du bruge følgende formel, som bruger funktionen ER.FEJL til at teste, om funktionen FELTVÆRDI returnerer en fejl.

=HVIS(ER.FEJL(FELTVÆRDI(A2,"Navn")),"Denne celle har ikke en sammenkædet datatype","Denne celle har en sammenkædet datatype")

Hvis formlen evalueres som en fejl, så returneres teksten "Denne celle har ikke en sammenkædet datatype", ellers returneres "Denne celle har en sammenkædet datatype".

Hvis du blot vil undertrykke #FIELD! -fejlen, kan du bruge:

=HVIS.FEJL(FELTVÆRDI(A1,"Navn"),"")

Hvilket returnerer en tom celle, hvis der er en fejl.

Betinget formatering

Du kan formatere en celle betinget ud fra, om den har en sammenkædet datatype eller ej. Først skal du markere de celler, der skal bruge den betingede formatering, og derefter gå til Hjem > betinget formatering > Ny regel > Brug en formel... Til formlen skal du bruge følgende:

=IKKE(ER.FEJL(FELTVÆRDI(A1,"Navn")))

Hvor celle A1 er den øverste celle i det område, du vil evaluere. Anvend derefter det ønskede format.

I dette eksempel, hvis celle A1 indeholder et gyldigt feltnavn for "Navn", returnerer formlen SAND, og formateringen anvendes. Hvis celle A1 ikke indeholder en sammenkædet datatype, returnerer formlen FALSK, og der anvendes ingen formatering. Du kan fjerne NOT, hvis du vil fremhæve eventuelle celler, der ikke indeholder gyldige sammenkædede datatyper i stedet.

VBA

Der er flere VBA-metoder (Visual Basic for Applications), du kan bruge til at identificere, om en celle eller et område indeholder sammenkædede datatyper. I den første procedure bruges egenskaben HasRichDataType. 

Begge disse procedurer beder dig om at vælge et celleområde, der skal evalueres, og derefter returnere et meddelelsesfelt med resultaterne.

Sub IsLinkedDataType()
    Dim c As Range
    Dim rng As Range
    Dim strResults As String
    
    Set rng = Application.InputBox("Select a range to check for linked data types", Type:=8)
    
    For Each c In rng
      '    Check if the HasRichDataType is TRUE or FALSE
        If c.HasRichDataType = True Then
        '   The cell holds a linked data type
            strResults = strResults & c.Text & " - Linked data type" & vbCrLf
        Else
            strResults = strResults & c.Text & " - Not a linked data type" & vbCrLf
        End If
    Next c

    MsgBox "Your range contains the following details" & vbCrLf & vbCrLf & strResults, vbInformation + vbOKOnly, "Results"
    
End Sub

I den næste procedure bruges egenskaben LinkedDataTypeState.

Sub IsLinkedDataTypeState()
    Dim c As Range
    Dim rng As Range
    Dim strResults As String
    
    Set rng = Application.InputBox("Select a range to check for linked data types", Type:=8)
    
    For Each c In rng
   '    Check if the LinkedDataTypeState is 1 (TRUE) or 0 (FALSE)
        If c.LinkedDataTypeState = 1 Then
        '   The cell holds a linked data type
            strResults = strResults & c.Text & " - Linked data type" & vbCrLf
        Else
            strResults = strResults & c.Text & " - Not a linked data type" & vbCrLf
        End If
    Next c
    
   MsgBox "Your range contains the following details" & vbCrLf & vbCrLf & strResults, vbInformation + vbOKOnly, "Results"

End Sub

Dette endelige kodestykke er en brugerdefineret funktion, og du refererer til den som enhver anden Excel formel. Du skal blotindtaste = fn_IsLinkedDataType(A1),hvor A1 er den celle, du vil evaluere.

Public Function fn_IsLinkedDataType(c As Range)
'   Function will return TRUE if a referenced cell contains a linked data type
    If c.HasRichDataType = True Then
      fn_IsLinkedDataType = "Linked data type"
    Else
        fn_IsLinkedDataType = "Not a linked data type"
    End If
End Function

Hvis du vil bruge et af disse eksempler, skal du trykke på Alt+F11 for at åbne Visual Basic Editor (VBE) og derefter gå til Indsæt >-modulog indsætte koden i det nye vindue, der åbnes til højre. Du kan bruge Alt+Q til at afslutte Excel når du er færdig. Hvis du vil køre et af de første to eksempler, skal du gå til fanen Udvikler >Kode > Makroer > vælge den makro, du vil køre på listen, og derefter vælge Kør.

Har du brug for mere hjælp?

Du kan altid spørge en ekspert i Excel Tech Community eller få support i community'er.

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.

Communities hjælper dig med at stille og besvare spørgsmål, give feedback og høre fra eksperter med omfattende viden.

Var disse oplysninger nyttige?

Hvor tilfreds er du med kvaliteten af sproget?
Hvad påvirkede din oplevelse?
Når du trykker på Send, bliver din feedback brugt til at forbedre Microsoft-produkter og -tjenester. Din it-administrator kan indsamle disse data. Erklæring om beskyttelse af personlige oplysninger.

Tak for din feedback!

×