Povezane vrste podataka prvi su put objavljene u Excel za Microsoft 365 lipnja 2018., a kao takve druge značajke možda ih neće moći prepoznati. To može biti osobito istinito kada želite koristiti druge značajke da biste uvjetno utvrdili sadrži li ćelija povezanu vrstu podataka ili ne. U ovom se članku objašnjavaju neka zaobilazna rješenja pomoću koje možete prepoznati povezane vrste podataka u ćelijama.
Napomena: Povezane vrste podataka dostupne su samo klijentima za više klijenata diljem svijeta (standardni Microsoft 365 račune).
Formule
Uvijek možete pisati formule koje se pozivaju na vrste podataka. No ako želite izdvojiti tekst ćelije s povezanom vrstom podataka pomoću funkcije TEXT, vidjet ćete #VALUE! pogreška.
Zaobilazno rješenje jest korištenje funkcije FIELDVALUE i određivanje polja Naziv za field_name argument. U sljedećem primjeru, ako ćelija A1 sadrži vrstu podataka burze, formula će vratiti naziv burze.
=FIELDVALUE(A1;"Naziv")
No ako ćelija A1 ne sadrži povezanu vrstu podataka, funkcija FIELDVALUE vratit će pogrešku #FIELD!. Ako želite procijeniti sadrži li ćelija povezanu vrstu podataka, upotrijebite sljedeću formulu koja koristi funkciju ISERROR da biste provjerili hoće li funkcija FIELDVALUE vratiti pogrešku.
=IF(ISERROR(FIELDVALUE(A2;"Naziv")),"Ova ćelija nema povezanu vrstu podataka","Ova ćelija ima povezanu vrstu podataka")
Ako se formula procijeni kao pogreška, vratit će tekst "Ova ćelija nema povezanu vrstu podataka", u suprotnom će vratiti "Ova ćelija ima povezanu vrstu podataka".
Ako jednostavno želite potisnuti #FIELD! možete koristiti sljedeće:
=IFERROR(FIELDVALUE(A1;"Naziv"),"")
Koja će vratiti praznu ćeliju ako se pojavi pogreška.
Uvjetno oblikovanje
Ćeliju možete uvjetno oblikovati na temelju toga ima li povezanu vrstu podataka. Najprije biste odabrali ćelije za koje je potrebno uvjetno oblikovanje, a zatim idite na Polazno > Uvjetno oblikovanje > Novo pravilo > Upotrijebite formulu... Za formulu koristite sljedeće:
=NOT(ISERROR(FIELDVALUE(A1;"Naziv")))
Mjesto na kojem je ćelija A1 gornja ćelija u rasponu koji želite procijeniti. Zatim primijenite oblik koji želite.
U ovom primjeru, ako ćelija A1 sadrži valjani naziv polja za "Naziv", formula vraća TRUE, a oblikovanje će se primijeniti. Ako ćelija A1 ne sadrži povezanu vrstu podataka, formula vraća FALSE i neće se primijeniti oblikovanje. Not možete ukloniti ako želite istaknuti sve ćelije koje ne sadrže valjane povezane vrste podataka.
VBA
Postoji nekoliko VBA metoda (Visual Basic za aplikacije) koje možete koristiti da biste utvrdili sadrži li ćelija ili raspon povezane vrste podataka. U ovom se prvom postupku koristi svojstvo HasRichDataType.
Oba postupka od vas će zatražiti da odaberete raspon ćelija koje želite procijeniti, a zatim vratite okvir poruke s rezultatima.
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
Sljedeći postupak koristi svojstvo 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
Ovaj konačni isječak koda korisnički je definirana funkcija (UDF) i referi ste na njega baš kao i bilo koja druga Excel formule. Jednostavno unesite =fn_IsLinkedDataType(A1), gdje je A1 ćelija koju želite procijeniti.
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
Da biste koristili neki od ovih primjera, pritisnite Alt + F11 da biste otvorili uređivač Visual Basic (VBE), a zatim idite na Umetanje modula> ,a zatim zalijepite kod u novi prozor koji se otvara s desnoj tipki. Alt + Q možete koristiti da biste se vratili na Excel kada završite. Da biste pokrenuli bilo koji od prva dva primjera, idite na karticuProgramiranje > Kod> makronaredbe > odaberite makronaredbu koju želite pokrenuti s popisa, a zatim odaberite Pokreni.
Je li vam potrebna dodatna pomoć?
Uvijek možete postaviti pitanje stručnjaku u tehničkoj zajednici za Excel ili zatražiti podršku u zajednicama.