Conectați-vă cu Microsoft
Conectați-vă sau creați un cont
Salut,
Selectați un alt cont.
Aveți mai multe conturi
Alegeți contul cu care doriți să vă conectați.

Tipurile de date legate au fost lansate pentru prima dată în Excel pentru Microsoft 365 iunie 2018 și, ca atare, este posibil ca alte caracteristici să nu le poată identifica. Acest lucru poate fi valabil mai ales atunci când doriți să utilizați alte caracteristici pentru a identifica condiționat dacă o celulă conține sau nu un tip de date legate. Acest articol explică câteva soluții pe care le puteți utiliza pentru a identifica tipurile de date legate din celule.

Notă: Tipurile de date legate sunt disponibile numai clienților Cu mai multe entități găzduite din întreaga lume (conturi Microsoft 365 standard).

Formule

Puteți scrie oricând formule care fac referire la tipuri de date. Totuși, dacă doriți să extrageți textul unei celule cu un tip de date legate utilizând funcția TEXT, veți obține o #VALUE! eroare.

O soluție este să utilizați funcția FIELDVALUE și să specificați câmpul Numefield_name argument. În exemplul următor, dacă celula A1 conținea un tip de date bursiere, formula ar returna numele stocului bursier.

=FIELDVALUE(A1,"Nume")

Cu toate acestea, dacă celula A1 nu conține un tip de date legate, funcția FIELDVALUE va returna o eroare #FIELD!. Dacă doriți să evaluați dacă o celulă conține sau nu un tip de date legate, aveți posibilitatea să utilizați următoarea formulă, care utilizează funcția ISERROR pentru a testa dacă funcția FIELDVALUE va returna o eroare.

=IF(ISERROR(FIELDVALUE(A2,"Nume")),"Această celulă nu are un tip de date legate","Această celulă are un tip de date legate")

Dacă formula se evaluează ca eroare, va returna textul "Această celulă nu are un tip de date legate", altfel, va returna "Această celulă are un tip de date legate".

Dacă doriți pur și simplu să suprimați #FIELD! puteți utiliza:

=IFERROR(FIELDVALUE(A1,"Nume"),"")

Va returna o celulă necompletată dacă există o eroare.

Formatarea condițională

Puteți formata condiționat o celulă în funcție de tipul de date legate. Mai întâi selectați celulele care au nevoie de formatarea condiționată, apoi accesați Pornire > Formatare condiționată > Regulă nouă > Se utilizează o formulă... Pentru formulă, utilizați următoarele:

=NOT(ISERROR(FIELDVALUE(A1;"Nume")))

Unde celula A1 este celula de sus din zona pe care doriți să o evaluați. Apoi aplicați formatul dorit.

În acest exemplu, dacă celula A1 conține un nume de câmp valid pentru "Nume", formula returnează TRUE și se va aplica formatarea. Dacă celula A1 nu conține un tip de date legate, formula returnează FALSE și nu va fi aplicată nicio formatare. Puteți elimina nota NOT dacă doreați în schimb să evidențiați celulele care nu conțin tipuri de date legate valide.

VBA

Există mai multe metode VBA (Visual Basic for Applications) pe care le puteți utiliza pentru a identifica dacă o celulă sau o zonă conține tipuri de date legate. Această primă procedură utilizează proprietatea HasRichDataType. 

Ambele proceduri vă vor solicita să selectați o zonă de celule de evaluat, apoi să returneze o casetă de mesaj cu rezultatele.

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

Această procedură următoare utilizează proprietatea 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

Acest fragment de cod final este o funcție definită de utilizator (UDF) și îl puteți referi la fel ca orice Excel formulă. Introduceți pur șisimplu = fn_IsLinkedDataType(A1), unde A1 este celula pe care doriți să o evaluați.

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

Pentru a utiliza oricare dintre aceste exemple, apăsați Alt+F11 pentru a deschide Editorul Visual Basic (VBE), apoi accesați Inserare modul >șilipiți codul în fereastra nouă care se deschide la dreapta. Puteți utiliza Alt+Q pentru a ieși Excel închideți după ce terminați. Pentru a rula oricare dintre primele două exemple, accesați fila Dezvoltator >Cod > Macrocomenzi > selectați macrocomanda pe care doriți să o rulați din listă, apoi selectați Rulare.

Aveți nevoie de ajutor suplimentar?

Puteți oricând să întrebați un expert din Comunitatea tehnică Excel sau să obțineți asistență în Comunități.

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.

Au fost utile aceste informații?

Cât de mulțumit sunteți de calitatea limbajului?
Ce v-a afectat experiența?
Apăsând pe Trimitere, feedbackul dvs. va fi utilizat pentru a îmbunătăți produsele și serviciile Microsoft. Administratorul dvs. IT va avea posibilitatea să colecteze aceste date. Angajamentul de respectare a confidențialității.

Vă mulțumim pentru feedback!

×